Skip to content

RTPEngine Re-Invite issue #275

@mvenkatesh431

Description

@mvenkatesh431

Hi all,
I am using RTPEngine and OpenSIPS. It working great. But it is not working properly on Re-Invite cases.
Here is my scenario :
A initiates a Video call to B.
B accepts only audio call without video. Now both are connected. B can see A's Video and A can hear B's audio.
Now B sends Re Invite with Video option. A accept the call. Now in this case A can see B's video but B can't see A's video. It is completly frozen. But after sometime like 90 sec or more video started transmitting properly.

I am using RTPEngine and OpenSIPS and SIP.js as client side library.
RTPEngine Version : git-master-cdcf2ff
OpenSIPS version : opensips 2.3.0-dev (x86_64/linux)

Here is the OpenSIPS script :

if (has_totag()) {
# sequential requests within a dialog should
# take the path determined by record-routing
if (loose_route()) {
if (is_method("INVITE")) {
fix_nated_contact();
t_on_branch("handle_reinvite");
# even if in most of the cases is useless, do RR for
# re-INVITEs alos, as some buggy clients do change route set
# during the dialog.
xlog(" Re Invite is called ");
record_route();
}
}
}

if (is_method("INVITE"))
{
t_on_branch("handle_nat");
t_on_reply("handle_nat");
}

branch_route[handle_nat] {
if (!is_method("INVITE") || !has_body("application/sdp"))
return;
$var(rtpengine_flags) = "ICE=force DTLS=passive";
rtpengine_offer("$var(rtpengine_flags)");
}

branch_route[handle_reinvite] {
if (!is_method("INVITE") || !has_body("application/sdp"))
return;
t_on_reply("handle_reinvite");
$var(rtpengine_flags) = "ICE=force DTLS=passive";
rtpengine_offer("$var(rtpengine_flags)");
}

onreply_route[handle_nat] {
fix_nated_contact();
if (!has_body("application/sdp"))
return;
fix_nated_sdp("3");
$var(rtpengine_flags) = "ICE=force DTLS=passive";
rtpengine_offer("$var(rtpengine_flags)");
}

onreply_route[handle_reinvite] {
if (!has_body("application/sdp"))
return;
fix_nated_sdp("3");
$var(rtpengine_flags) = "ICE=force DTLS=passive";
rtpengine_answer("$var(rtpengine_flags)");
}

I am also attaching RTPEngine dubug log.
RTPEngine ReInvite issue.txt

Thank you in Advance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions