[asterisk-users] CONNECTEDLINE(), progressinband=no and 183 before 180 (with latest trunk)
crjw
crjw at irisnet.ca
Sun Apr 25 14:19:49 CDT 2010
I don't expect my SIP provider to provide useful "Remote-Party-ID" information.
Therefore, I am using "CONNECTEDLINE(num)=xxx" AND "CONNECTEDLINE(name)=yyy" to populate remote party information from a local database.
I am also using the "I" (upper case "i") option for Dial.
Generally I like to see to see the remote party name appear on the phone's display as soon as a call is dialed... even if the the remote party is BUSY.
I ran into a problem where the Remote-Party-ID does not get displayed on the caller's phone until the remote phone is answered.
I finally tracked this down to several things:
a) My SIP provider sends "183 Session Progress" and inband ringback prior to sending a "180 Ringing".
b) The default sip.conf file that ships with asterisk suggests using "progressinband=no" for polycom phones.
c) The "progessinband=no" setting prevents the "180 Ringing" from being forwarded to the phone if it is received after the "183 Session Progress".
d) Called-Parity-ID appears to be only sent to the phone with "180 Ringing" and "200 OK" responses.
# this the sequence of events that transpire:
-caller places call
-asterisk receives "183 Trying" from SIP provider and forwards it to the caller's phone
-asterisk receives inband ringback from SIP provider and forwards it to the phone (RTP)
-asterisk receives "180 Ringing" from SIP provider but does "not" forward it to the phone.
-asterisk continues to receive more inband ringback from SIP provider and it continues to forward it to the phone (RTP)
-remote party answers the phone
-asterisk receives "200 OK" from SIP provider; asterisk inserts "Called-Party-ID" and then forwards it to the calling phone.
-the display on the caller's phone is finally updated; ringback stops and someone at the other end says "hello".
There are two workarounds which will make the Called-Party-ID show up on the phone before the call is answered:
i) Use "progressinband=never" even though the default sip.conf file recommends against it.
The recommendation is presumably based on some old bugs in the Polycom phones that no longer exists.
I am using recent Polycom firmware and did not notice any bugs.
Note however that the the display on the phone won't be updated if the remote phone is "BUSY", which in my case is not ideal.
ii) Use the "r" option to "Dial". e.g. Dial(SIP/${EXTEN}@xxxxx,300,Ir);
This has the advantage of updating the phone very quickly without waiting for any respones from the SIP provider.
This may have side effects: ringback could hypothetically be produced when it shouldn't be.
Questions:
Is there a reason why "Remote-Party-ID" is not sent to the phone as part of the "183 Trying" message?
Could this be a configurable option?
Should the example sip.conf file continue to recommend "progressinband=no" for Polycom phones?
-crjw
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20100425/3808bcb3/attachment.htm
More information about the asterisk-users
mailing list