[asterisk-dev] Asterisk 16 / pjsip: actual SDP handling in case of late offer during outbound call seems to break call

Joshua C. Colp jcolp at digium.com
Fri Aug 9 13:09:52 CDT 2019


On Fri, Aug 9, 2019, at 2:58 PM, Michael Maier wrote:

<snip>

> 
> I think I probably realized now the real problem of the wrong SDP 
> session version: Based on this patch
> 
> diff -urN asterisk-16.3.0.orig/res/res_pjsip/pjsip_message_filter.c 
> asterisk-16.3.0/res/res_pjsip/pjsip_message_filter.c
> --- asterisk-16.3.0.orig/res/res_pjsip/pjsip_message_filter.c   
> 2019-04-04 16:49:57.000000000 +0200
> +++ asterisk-16.3.0/res/res_pjsip/pjsip_message_filter.c        
> 2019-06-18 14:46:57.784000000 +0200
> @@ -341,6 +341,10 @@
>                         }
>                 }
> 
> +               /* set new sdp version */
> +               ast_debug(5, "increment SDP version, starting from 
> %x\n",sdp->origin.version);
> +               sdp->origin.version+=1;
> +
>                 pjsip_tx_data_invalidate_msg(tdata);
>         }
> 
> ---------------------------------------------------------------------------------------------------------------------------
> 
> I detected, that the starting point is wrong during the following call 
> to the provider:
> 
> 
> INVITE        / SDP session version starts at 0x1c91867
> INVITE + AUTH / SDP session version starts at 0x1C91868 (this is ok)
> 
> ReInvite 1 from Provider
> OK ReInvite  / SDP session version starts at 0x1C91867 (this is not ok 
> - should start at 0x1C91869 and not from beginning)
> 
> ReInvite 2 from Provider
> OK ReInvite  / SDP session version starts at 0x1C91867 (this is not ok 
> - should start at 0x1C91870 and not from beginning)
> 
> Seems, that asterisk uses for the 200 OKs the initial session, starting 
> at the first INVITE instead of using the session data based on the 
> INVITE + AUTH.
> Or is there my patch broken?

I don't really understand your question. I don't think the patch is the true fix, it's just a convenient place to increment it. I haven't looked deeply into things so I don't really have anything additional to add.

-- 
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



More information about the asterisk-dev mailing list