[asterisk-users] Sending SIP 183 Session Progressing

Dinesh Nair dinesh at alphaque.com
Mon Aug 14 23:18:50 MST 2006


i'm not sure if this is a -users or a -dev question, but am sending it here 
anyways. discussion could move to -dev if chan_sip.c code needs to be 
amended/explained.

first up, all this on asterisk 1.2.10 on freebsd 6.1.

here's the beef:

from a particular sip softphone we're playing with, we notice that calls to 
another SIP phone (same LAN) result in the /lack/ of a ringing tone on the 
softphone. however, calls from the same softphone to a PSTN/Mobile number 
(through a TE405P) result in proper behaviour on the softphone with a 
ringing tone.

an ethereal trace of both types of calls results in only one difference. 
for calls to the PSTN/Mobile thru libpri/chan_zap, asterisk returns a SIP 
183 Session Progress[1] packet in between the 100 Trying and 180 Ringing, 
while for calls from the softphone to another SIP phone it's 100 Trying 
followed immediately by 180 Ringing.

so my question is, is the softphone behaving correctly in not playing a 
ringing tone to the user without the 183 packet inspite of the 180 Ringing 
packet being received ? alternatively, since we aren't able to change the 
softphone, will i break anything big if i force asterisk to send the 183 
packet immediately after sending the 100 Trying packet in sip_indicate() ?

alternatively, in reading the RFCs, i came across RFC3398 which speficies 
mappings between ISDN Cause Codes and SIP responses. has this mapping been 
implemented in asterisk at the moment, either in 1.2 or the upcoming 1.4 ?

[1] the 183 Session Progress packet is triggered by the receipt of a PRI 
PROGRESS indicator from libpri, which gets translated to a 
AST_CONTROL_PROGRESS and thence a 183 Session Progress to SIP.

-- 
Regards,                           /\_/\   "All dogs go to heaven."
dinesh at alphaque.com                (0 0)   http://www.openmalaysiablog.com/
+==========================----oOO--(_)--OOo----==========================+
| for a in past present future; do                                        |
|   for b in clients employers associates relatives neighbours pets; do   |
|   echo "The opinions here in no way reflect the opinions of my $a $b."  |
| done; done                                                              |
+=========================================================================+



More information about the asterisk-users mailing list