Hi, i've identified a bug in PJSIP (and thereby in Asterisk 13): Scenario: UA calling to PJSIP ---> INVITE (in SDP: a=inactive) <--- 183 Session Progress (in SDP: a=inactive) (some conditions are met [a dedicated bearer on LTE is activated], so the UA will activate the Audio-Stream by sending an UPDATE-Request) ---> UPDATE (in SDP: a=sendrecv) <--- 200 OK (to the UPDATE, in SDP: a=sendrecv) What happens now, is wrong: <--- 200 OK (to the INVITE, in the SDP: a=inactive) ---> ACK The 200 OK should be "a=sendrecv", since the original session was activated/updated by the "UPDATE" request. After digging through the code of chan_pjsip/Asterisk, I've found that it's actually a bug in PJSIP and not in Asterisk. Asterisk indicates, that the call is hold during INVITE and upon UPDATE, it indicates that the call was reactivated. Currently, I replace the a=inactive with a=sendrecv in the 200 OK on Kamailio-Proxy, but that's more a dirty hack than a proper fix. I've verified the behaviour with Asterisk and the pjsip-ua from the samples folder (both Version 2.7.1). Thanks, Carsten -- Carsten Bock CEO (Geschäftsführer) Meet us at MWC 2018 in Barcelona and see IMS and VoLTE in action! (February 26th - March 1st, Hall 7 - Booth 7L80) ng-voice GmbH Millerntorplatz 1 20359 Hamburg / Germany http://www.ng-voice.com mailto:carsten@xxxxxxxxxxxx Office +49 40 5247593-40 Fax +49 40 5247593-99 Sitz der Gesellschaft: Hamburg Registergericht: Amtsgericht Hamburg, HRB 120189 Geschäftsführer: Carsten Bock Ust-ID: DE279344284 Hier finden Sie unsere handelsrechtlichen Pflichtangaben: http://www.ng-voice.com/imprint/
Attachment:
pjsip-preconditioning.pcap
Description: application/vnd.tcpdump.pcap
_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org