[asterisk-dev] 13.24.1 / PJSIP: early media via 180 Ringing containing SDP is ignored

Michael Maier m1278468 at mailbox.org
Thu Jan 24 07:23:09 CST 2019

On 24.01.19 at 12:08 Joshua C. Colp wrote:
> On Thu, Jan 24, 2019, at 7:00 AM, Michael Maier wrote:
>> Hello!
>> Given is an outbound call to a callee via asterisk to the ISP. After 
>> INVITE, the ISP sends 100 Trying and some time later 180 Ringing *w/* 
>> SDP and the header
>> "P-Early-Media: sendonly" (no 183 or any other thing until callee 
>> responds). SDP in 180 contains media attribute *sendrecv* 
>> (contradicting to the P-Early-Media header).
>> Asterisk 13.24.1 sends PRACK to the ISP (w/o SDP) and the 180 to the 
>> caller - but SDP is dropped and therefor no early media is possible!
>> Is this behavior a bug or a feature?
> It would be a bug. That's not a scenario that I think anyone has really tested or fully scoped out. Is media actually received while in the 180 with Ringing stage?

Yes - there is actually media been sent by the ISP, which is completely ignored by asterisk:

[2019-01-24 13:24:20] DEBUG[3341][C-00000026]: res_rtp_asterisk.c:4109 ast_rtp_write: No remote address on RTP instance '0x7fedc40586d8' so dropping frame

At this point, there isn't any media flowing between caller and asterisk and from asterisk to callee - just the ISP sends media to asterisk.

Media is sent to the caller by asterisk at the moment, the 200 OK w/ SDP package has been received after callee picked up the phone. Therefore, the first few syllables are
lost and you have to ask the name of the callee again, e.g.

Caller		Asterisk				ISP
Invite -------->
			<-----------------------	180 Ringing w/ SDP and P-Early-Media: sendonly
			<-----------------------        RTP
<--------------- 180 Ringing

			<-----------------------	200 OK w/SDP
<--------------- 200 OK w/SDP
<--------------- RTP
RTP ---------------->
			RTP ------------------->

In the complete trace, the ringback can be heard sent by the ISP. The media goes on perpetually after callee picked up the phone!


More information about the asterisk-dev mailing list