Michael Maier
2018-Dec-12 16:30 UTC
[asterisk-users] Outbound call: caller gets no ringback on session progress
Hello! An extension registered at asterisk 13.23 initiates an external call (pjsip). After the Invite, the callee (-> ISP) sends a 100 Trying 183 Session Progress (*without* SDP) Asterisk now sends to the extension: 183 Session Progress (*with* SDP) 183 Session Progress (*with* SDP) (really two times) The callee meanwhile sends 180 Ringing (*without* SDP) which is "forwarded" by Asterisk to the extension with 180 Ringing (*with* SDP) The problem: The extension doesn't create a ringback locally, because it most probably expects it to be sent by the callee - but the callee doesn't send anything (not surprising, because there has been no SDP). Or should Asterisk create the ringback (Asterisk doesn't send any RTP package)? Or should the phone create the ringback itself because there is a 180 Ringing (even if it contains SDP)? I'm wondering: Why does Asterisk create a 183 to the extension containing SDP if the callee didn't provide any SDP? So many questions ... . Could somebody please shine some light on it? What's going wrong here? Thanks, Michael
Joshua C. Colp
2018-Dec-12 18:43 UTC
[asterisk-users] Outbound call: caller gets no ringback on session progress
On Wed, Dec 12, 2018, at 12:31 PM, Michael Maier wrote: <snip>> > The problem: The extension doesn't create a ringback locally, because > it most probably expects it to > be sent by the callee - but the callee doesn't send anything (not > surprising, because there has been > no SDP). > > Or should Asterisk create the ringback (Asterisk doesn't send any RTP > package)? Or should the phone > create the ringback itself because there is a 180 Ringing (even if it > contains SDP)? > > I'm wondering: Why does Asterisk create a 183 to the extension > containing SDP if the callee didn't > provide any SDP? > > > So many questions ... . Could somebody please shine some light on it? > What's going wrong here?The core doesn't communicate whether progress includes media or not, so the PJSIP channel driver (and even chan_sip) assumes media is there. What should happen in chan_pjsip is that it would send inband ringing and not a 180 Ringing with SDP, but that is not currently implemented and I don't think this particularly interaction has come up before to cause it to be implemented. I'd therefore suggest raising an issue[1] with the SIP trace. [1] https://issues.asterisk.org/jira -- Joshua C. Colp Digium - A Sangoma Company | Senior Software Developer 445 Jan Davis Drive NW - Huntsville, AL 35806 - US Check us out at: www.digium.com & www.asterisk.org
Michael Maier
2018-Dec-14 09:23 UTC
[asterisk-users] Outbound call: caller gets no ringback on session progress
On 12.12.18 at 19:43 Joshua C. Colp wrote:> On Wed, Dec 12, 2018, at 12:31 PM, Michael Maier wrote: > > <snip> > >> >> The problem: The extension doesn't create a ringback locally, because >> it most probably expects it to >> be sent by the callee - but the callee doesn't send anything (not >> surprising, because there has been >> no SDP). >> >> Or should Asterisk create the ringback (Asterisk doesn't send any RTP >> package)? Or should the phone >> create the ringback itself because there is a 180 Ringing (even if it >> contains SDP)? >> >> I'm wondering: Why does Asterisk create a 183 to the extension >> containing SDP if the callee didn't >> provide any SDP? >> >> >> So many questions ... . Could somebody please shine some light on it? >> What's going wrong here? > > The core doesn't communicate whether progress includes media or not, so the PJSIP channel driver (and even chan_sip) assumes media is there. What should happen in chan_pjsip is that it would send inband ringing and not a 180 Ringing with SDP, but that is not currently implemented and I don't think this particularly interaction has come up before to cause it to be implemented. I'd therefore suggest raising an issue[1] with the SIP trace.https://issues.asterisk.org/jira/browse/ASTERISK-28208 Thanks, Michael
Michael Maier
2018-Dec-16 08:42 UTC
[asterisk-users] Outbound call: caller gets no ringback on session progress
On 12.12.18 at 19:43 Joshua C. Colp wrote:> On Wed, Dec 12, 2018, at 12:31 PM, Michael Maier wrote: > > <snip> > >> >> The problem: The extension doesn't create a ringback locally, because >> it most probably expects it to >> be sent by the callee - but the callee doesn't send anything (not >> surprising, because there has been >> no SDP). >> >> Or should Asterisk create the ringback (Asterisk doesn't send any RTP >> package)? Or should the phone >> create the ringback itself because there is a 180 Ringing (even if it >> contains SDP)? >> >> I'm wondering: Why does Asterisk create a 183 to the extension >> containing SDP if the callee didn't >> provide any SDP? >> >> >> So many questions ... . Could somebody please shine some light on it? >> What's going wrong here? > > The core doesn't communicate whether progress includes media or not, so the PJSIP channel driver (and even chan_sip) assumes media is there.Another question: is there any use case for 183 Session Progress w/o SDP? IOW: Is a 183 Session Progress just a bug of the ISP? If so, problem could be solved by dropping each 183 package w/o SDP. Thanks, Michael