Am 09.08.19 um 20:09 schrieb Joshua C. Colp:
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.
What I'm trying to say, is, that during the call, consisting of an INVITE, INVITE + AUTH (after proxy auth request of ISP), ReInvite 1 from ISP
and ReInvite 2 from ISP, asterisk encounters a session problem, because it reuses the old session data of the beginning for the ReInvites
instead of continuously continuing with the session data reached after the INVITE + AUTH and so on.
I don't think the patch is the true fix, it's just a convenient place to
increment it.
That's true - but there seems to be a session issue because there is always the same SDP version as base - and not the previously increased one
(besides between INVITE and INVITE + AUTH)
Let me show it on a table
real SDP expected SDP
Request startversion with patch startversion with patch
INV 1 1
INV + AUTH 2 2
ReInv 1 OK 1 3
ReInv 2 OK 1 4
Thanks
Michael
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev