Summary:ASTERISK-16505: using chan_iax2 ringing received from destination sip channel doesn't always get propogated to originating sip
Reporter:Jaco Kroon (jkroon)Labels:
Date Opened:2010-08-04 10:46:26Date Closed:
Versions:Frequency of
Description:cell phone via pstn connects to broadcom infrastructure via some gateway, so call gets asterisk server ( via SIP.  This asterisk server then passes call on to remote asterisk ( server via chan_iax2 with Dial(IAX2/peername/1234,,i).  

The remote asterisk server then passes the call to a handset using Dial(SIP/123).  At this point the calling agent can correctly hear ringing and all channels are "down", so 123 answers and all channels goes "up".  At this point when ext 123 (Snom 300 phone) hits the transfer button the caller can hear MOH, and then when the new called party gets notified (again hitting a Dial(SIP/321) in the dialplan) the calling party however no longer hears ringing at all.

I have tested this with a SIP phone (snom 300) connected directly to the first asterisk server as well, and this exhibits the same problem.

In the case where the calling party is coming in via broadcom on a second transfer we do get a ringing sound, in the case where I connect the snom300 directly to the first asterisk server I don't.  (This part makes absolutely no sense for me)

If I replace the IAX/2 channel with SIP it works as expected.  When the call comes in directly on the second server from DAHDI/ it works.

****** STEPS TO REPRODUCE ******

cell --PSTN--> broadcom --SIP--> Asterisk --IAX2--> Asterisk --SIP--> 123

123 --TRANSFER--> MOH --> 321


Having played a bit with the prematuremedia options my suspicion is that chan_iax doesn't generate ringing tones whereas chan_sip would due to the channel already being in the up state.

I've also tried modifying the Dial(SIP/321) to Dial(SIP/321,,r) with the same effect, however, changing it to Dial(SIP/321,,m) causes MOH to be played until the call gets answered (which isn't what I actually want, but which is what I am doing as an interim solution for my clients).

This used to work properly at some point in the past, however, I'm not sure whether it broke as I moved from 1.6.0 .X to 1.6.1.X or somewhere in the 1.6.1.X branch.  We only picked up on this relatively recently and I've been able to get the same thing to happen with two asterisk server instances.
Comments:By: Leif Madsen (lmadsen) 2010-08-05 15:43:16

I added an ASCII figure to help show the call progression. Hopefully I got it right.

By: Jaco Kroon (jkroon) 2010-08-06 02:07:56

Looks like you did.  On the transfer I'm not 100 % sure.  What happens is that as soon as 123 presses the "transfer" button the caller goes to moh, which is correct.  123 then enters the dest number (321), and as soon as 123 presses "send" the caller hears silence whilst 321 is actually ringing.  Things return to normal once 321 answers (as in audio in both directions from the handsets).