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@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 | +=========================================================================+
Michael J. Tubby B.Sc (Hons) G8TIC
2006-Aug-15 08:30 UTC
[asterisk-users] Sending SIP 183 Session Progressing
Dinesh, I suspect your problem is with the softphone implementation... I have an Asterisk PBX setup with ISDN (chan_capi) and use Cisco 7960 phones with Cisci SIP 7.5 firmware and get to watch the various SIP messages in/out on the phone. Depending on the phone numbers I dial (and the signalling back from the ISDN exchange) I get 100 -> 183 -> 180 or 100 -> 180 In both cases the Cisco plays our ringing on receipt of the 180. Occasionally calls which go from 100 -> 180 without going via the 183 result in the Cisco ringing and combined rining genrated by the telephone exchange which is weird but ok. I have also encountered (rarely) ISDN number which, when dialled from 100 -> 183 -> Connected without a ringing phase - these call result in silence at the Cisco phone followed by connected audio (from the far end) - which is to be expected. Mike ----- Original Message ----- From: "Dinesh Nair" <dinesh@alphaque.com> To: "Asterisk Users Mailing List - Non-Commercial Discussion" <asterisk-users@lists.digium.com> Sent: Tuesday, August 15, 2006 7:18 AM Subject: [asterisk-users] Sending SIP 183 Session Progressing> > 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@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 > | > +=========================================================================+ > _______________________________________________ > --Bandwidth and Colocation provided by Easynews.com -- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >