[OpenSIPS-Users] OpenSIPS 2.4 mhomed + rtpengine + re-invite = issue
Mickael Hubert
mickael at winlux.fr
Wed Apr 24 06:08:06 EDT 2019
Hi All,
I have an issue when reinvite sdp is processed by opensips, it don't change
IP in c header in 200ok SDP.
But it works well for the first INVITE.
Ex:
SIP
- IPBX (172.31.10.241) <--> (172.17.50.153) Opensips (10.1.15.153) <-->
(10.1.15.152) Asterisk server
RTP
- IPBX (172.31.10.241) <--> (172.17.50.144) RTPengine (10.1.15.144) <-->
(10.1.15.152) Asterisk
*Initial INVITE sdp + 200OK sdp are changed well*
INVITE:
c=IN IP4 172.31.10.241 (IPBX) --> c=IN IP4 10.1.15.144 (RTPEngine)
200OK:
c=IN IP4 172.17.50.144 (RTPEngine) <-- c=IN IP4 10.1.15.44 (Asterisk)
But when IPBX send reinvite (with the same codec) INVITE is rewrited well,
but not 200OK
*Re-INVITE sdp + 200OK sdp:*
INVITE:
c=IN IP4 172.31.10.241 (IPBX) - Opensips -> c=IN IP4 10.1.15.144 (RTPEngine)
200OK:
c=IN IP4 *10.1.15.44* (asterisk) <- Opensips - c=IN IP4 10.1.15.44
(Asterisk)
You can see a part of my opensips code:
if (has_totag())
{
xlog("L_INFO","$avp(startlog) In HAS_TOTAG - fu : $fu , ru : $ru , si :
$si");
if (loose_route())
{
xlog("L_INFO","$avp(startlog) LOOSE_ROUTING - fu : $fu , ru : $ru , si :
$si , method : $rm \n");
$avp(setid) = $(dlg_val(setid){s.int});
$avp(iniface) = $dlg_val(iniface);
$avp(outiface) = $dlg_val(outiface);
if (is_method("INVITE"))
{
xlog("L_INFO","$avp(startlog) Method RE-INVITE\n");
record_route();
if(rtpengine_manage("$avp(iniface) $avp(outiface) ICE=remove
replace-origin")) #it's exacly the same command for initial INVITE with
same avp
{
xlog("L_INFO","$avp(startlog) SDP Offer: $ci to RE-INVITE
$avp(iniface) $avp(outiface)\n");
}
}
....
Do you have an idea please ?
thanks in advance
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20190424/825fadba/attachment.html>
More information about the Users
mailing list