[Home]

Summary:ASTERISK-14362: [patch] TDM400P FXS port, doesn't ring correctly when mwisendtype=rpas
Reporter:Alec Davis (alecdavis)Labels:
Date Opened:2009-06-23 03:22:11Date Closed:2009-06-25 11:18:50
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_dahdi
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) bug15381_mwisend_rpas.diff.txt
( 1) fix15381.diff
Description:With mwisendtype=rpas in chan_dahdi.conf, when ringing a TDM400P FXS port only a very short ring is heard once every 10 seconds.
 1st is immediately phone starts to ring
 2nd ring ~10 seconds
 3rd ring ~20 seconds just before Voicemail kicks in.
It doesn't matter whether messages are present or not.

If mwisendtype is allowed to default to 'fsk', then the ring is normal.

If mwisendtype is set to 'lrev', then the ring is normal, 'fsk' is sent, and line reversal happens while messages are present.



****** ADDITIONAL INFORMATION ******

Of the first 2 rings indicated below, around the 'my_send_callerid' only 1 is heard.

console output with mwisendtpye=rpas:

Jun 23 19:50:55] WARNING[16475]: chan_dahdi.c:3746 dahdi_enable_ec: Unable to enable echo cancellation on channel 1 (No such device)
   -- Executing [2002@phones:1] Dial("DAHDI/1-1", "DAHDI/2,20,") in new stack
   -- Called 2
   -- DAHDI/2-1 is ringing
[Jun 23 19:50:55] ERROR[16475]: chan_dahdi.c:1768 my_send_callerid: Starting cid spill
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- Nobody picked up in 20000 ms
   -- Hanging up on 'DAHDI/2-1'
   -- Hungup 'DAHDI/2-1'
   -- Executing [2002@phones:2] VoiceMail("DAHDI/1-1", "2002,u") in new stack
   -- <DAHDI/1-1> Playing 'vm-theperson.gsm' (language 'en')

=================================================================================

console output with commented out mwisendtype=lrev:

Jun 23 19:53:49] WARNING[16641]: chan_dahdi.c:3746 dahdi_enable_ec: Unable to enable echo cancellation on channel 1 (No such device)
   -- Executing [2002@phones:1] Dial("DAHDI/1-1", "DAHDI/2,20,") in new stack
   -- Called 2
   -- DAHDI/2-1 is ringing
[Jun 23 19:53:49] ERROR[16641]: chan_dahdi.c:1768 my_send_callerid: Starting cid spill
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- DAHDI/2-1 is ringing
   -- Nobody picked up in 20000 ms
Comments:By: Alec Davis (alecdavis) 2009-06-23 03:33:51

"with finger ready to hit the redial button"

If your fast enough (within 4 seconds) after an asterisk restart, to ring the other extension, the ringer rings correctly.

Once the RPAS and VMWI FSK has been sent, it then goes wrong.

By: Alec Davis (alecdavis) 2009-06-23 07:29:37

uploaded bug15381_mwisend_rpas.diff.txt
resets DAHDI_SETCADENCE to NULL after MWI FSK SPILL completes.

An RPAS before the MWI FSK SPILL sets DAHDI_SETCADENCE to AS_RP_CADENCE (250,10000). But the Cadence wasn't set back to default, after the SPILL.
Before sig_analog, dahdi_call would setup the CADENCE correctly before each call.

Now in sig_analog.c 10 lines in analog_call '/* Choose proper cadence */' which choose the correct cadence for the call, is currently disabled!!!!!

Tested correctly with 2 phones connected to FXS ports on TDM400P and CallerId unit in series with 1 line.

/etc/dahdi/system.conf loadzone=nz
/etc/dahdi/system.conf defaultzone=nz
/etc/asterisk/indications.conf country=nz

/etc/dahdi/system.conf loadzone=us
/etc/dahdi/system.conf loadzone=us
/etc/asterisk/indications.conf country=us

Correct ring cadences were observed calling between FXS connected extensions.
RingPulse before MWI FSK SPILL was correct.
CallerID unit updates were correct.
Message Waiting updates on CallerID unit were correct.
Line reversal was correct.

Distinctive ring wasn't tested, as it's not yet re-implemented in sig_analog.c



By: Alec Davis (alecdavis) 2009-06-23 07:34:20

Can some please change the 'description' section to 'approx 10 seconds' and 'approx 20 seconds' where the tilde 10 and tilde 20 have been replaced with Note: 000010 and Note: 000020

By: Digium Subversion (svnbot) 2009-06-25 11:18:49

Repository: asterisk
Revision: 203126

U   trunk/channels/chan_dahdi.c

------------------------------------------------------------------------
r203126 | dbailey | 2009-06-25 11:18:49 -0500 (Thu, 25 Jun 2009) | 12 lines

Insure ring cadence is set for fxs ports

Moved SETCADENCE ioctl call to before call into new analog signal module
to insure that it gets set.

(closes issue ASTERISK-14362)
Reported by: alecdavis
Patches:
     fix15381.diff uploaded by dbailey (license 819)
Tested by: dbailey


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=203126