[OpenSIPS-Users] Handling SDP on 302 request with mhome
Bogdan-Andrei Iancu
bogdan at opensips.org
Wed Oct 6 15:10:58 EST 2021
Hi Antonis,
even simpler, you can have a single branch route and from the request
route or failure route just to set different values for the
$vp(rtpflags), to reflect the bridging rtpengine has to do.
Best regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
https://www.opensips-solutions.com
OpenSIPS eBootcamp 2021
https://opensips.org/training/OpenSIPS_eBootcamp_2021/
On 10/6/21 11:08 AM, Antonis Psaras wrote:
>
> Hello Bogdan
>
> Thank you very much for the reply.
>
> So what I am doing now is the following
>
> if(is_method("INVITE") && !has_totag())
>
> {
>
> ………
>
> if (has_body("application/sdp"))
>
> {
>
> if (rtpengine_offer("$avp(rtpflags)"))
>
> t_on_reply("REPLY_ANSWER");
>
> }
>
> else
>
> {
>
> t_on_reply("REPLY_OFFER");
>
> }
>
> …..
>
> }
>
> And what you suggest is to do it like that?
>
> if(is_method("INVITE") && !has_totag())
>
> {
>
> ………
>
> t_on_branch("1");
>
> …..
>
> }
>
> branch_route[1]
>
> {
>
> ….
>
> if (has_body("application/sdp"))
>
> {
>
> if (rtpengine_offer("$avp(rtpflags)"))
>
> t_on_reply("REPLY_ANSWER");
>
> }
>
> else
>
> {
>
> t_on_reply("REPLY_OFFER");
>
> }
>
> …..
>
> }
>
> branch_route[2]
>
> {
>
> ….
>
> if (has_body("application/sdp"))
>
> {
>
> if (rtpengine_offer("$avp(rtpflags)"))
>
> t_on_reply("REPLY_ANSWER");
>
> }
>
> else
>
> {
>
> t_on_reply("REPLY_OFFER");
>
> }
>
> …..
>
> }
>
> failure_route[failure]
>
> {
>
> if (t_check_status("(301)|(302)"))
>
> {
>
> get_redirects("1:1");
>
> uac_replace_from("","$tu");
>
> uac_replace_to("","$ru");
>
> if (!ds_select_dst("1", "0"))
>
> {
>
> send_reply("500","Unable to route");
>
> exit;
>
> }
>
> t_on_branch("2");
>
> t_relay();
>
> }
>
> rtpengine_delete();
>
> }
>
> Best regards
>
> *From:* Bogdan-Andrei Iancu <bogdan at opensips.org>
> *Sent:* Τετάρτη, 6 Οκτωβρίου 2021 10:55
> *To:* apsaras at microbase.gr; OpenSIPS users mailling list
> <users at lists.opensips.org>
> *Subject:* Re: [OpenSIPS-Users] Handling SDP on 302 request with mhome
>
> Hi Antonis,
>
> I guess you should move the enagaing of the rtpengine (for the INVITE
> time) in the branch route, so it can do different SDP settings
> according to the destination of that branch.
>
> How you do it now will set the SDP in INVITE only in relation to the
> first branch (so WAN) and reuse it for the next branches too.
>
> Best regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> https://www.opensips-solutions.com <https://www.opensips-solutions.com>
> OpenSIPS eBootcamp 2021
> https://opensips.org/training/OpenSIPS_eBootcamp_2021/ <https://opensips.org/training/OpenSIPS_eBootcamp_2021/>
>
> On 9/27/21 3:48 AM, Antonis Psaras wrote:
>
> Hello Team
>
> I have an OpenSIPs with multi home (WAN / LAN) connected to an
> Asterisk (LAN). The problem I have is the following.
>
> A call is coming from Asterisk to OpenSIPs LAN interface for a
> user registered on OpenSIPs. That user has call forwarding enabled
> and OpenSIPs receives a 302.
>
> That request is handled as follows
>
> failure_route[failure]
>
> {
>
> if (t_check_status("(301)|(302)"))
>
> {
>
> get_redirects("1:1");
>
> uac_replace_from("","$tu");
>
> uac_replace_to("","$ru");
>
> if (!ds_select_dst("1", "0"))
>
> {
>
> send_reply("500","Unable to route");
>
> exit;
>
> }
>
> t_relay();
>
> }
>
> rtpengine_delete();
>
> }
>
> A new INVITE is generated from OpenSIPs towards Asterisk but SDP
> negotiated is the initial (OpenSIPs to Client) with the WAN IP.
>
> Is there a way to correct that?
>
> Thank you in advance for your support.
>
>
>
> _______________________________________________
>
> Users mailing list
>
> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users <http://lists.opensips.org/cgi-bin/mailman/listinfo/users>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20211006/26d327db/attachment-0001.html>
More information about the Users
mailing list