Hello,

call the rtpproxy_manage() function inside the branch_route, it is a
good place always, doing it when you know the request is being forwarded.

Cheers,
Daniel


On 12.02.18 19:55, Fabian Borot wrote:
> I have this scenario
>
> Customer --> Kamailio --> Provider1
>
> The route where l route the call to Provider1 is called route["INCOMING"] and 
> I "arm" the replies and failures to : t_on_reply("INCOMING") and 
> t_on_failure("INCOMING").  Provider1 always replies with a 302 Redirect and 
> in the failure_route["INCOMING'] I have this code:
>
>         if (t_check_status("302")) {
>                 get_redirects("*");
>                 t_on_branch("REDIRECT_BRANCH");
>                 t_load_contacts();
>                 t_next_contacts();
>                 t_on_failure("SERIAL_FORKING");
>                 t_relay();
>                 exit;
>         }
>
> In the t_on_failure("SERIAL_FORKING") block I do t_relay() as long as there 
> are more contacts to be processed. Lets say I need to try Provider_2 and 
> Provider_3
>
> failure_route["SERIAL_FORKING"]
> {
>         xlog("L_INFO","mylog: In Failure Route SERIAL_FORKING. Reply 
> [$rs]\n");
>         if (!t_next_contacts()) {
>                 exit;
>         }
>         xlog("L_INFO","mylog: In Failure Route SERIAL_FORKING. Trying next 
> Contact.\n");
>         t_on_failure("SERIAL_FORKING");
>         t_relay();
> }
>
> I want to use RTPProxy in this scenario and I am using the function 
> rtpproxy_manage() to let kamailio handle it automatically.  
>
>               RTPProxy
>               ↑
>                |
>                |      
> Customer --> Kamailio --> Provider1
>                |
>                |
>               ↓
>               Provider N
>
>
> After the 302 response is processed I would like to have the signaling flow 
> "Customer -> Kamailio --> ProviderN" and the RTP flow "Customer --> RTPProxy 
> --> ProviderN"
>
> I have tried inserting the function in several places but can't make it work 
> and what I mean is that sometimes the rtpproxy creates the 1st session and 
> then deletes it as soon as I call it the 2nd time with a message similar to 
> this one (log of rtpproxy) : 
> "INFO:416f20b74a58fb75168175e61b2edece@192.168.1.61:5060:rtpp_cmd_delete_ematch:
>  forcefully deleting session 1 on ports 63502/0". Sometimes the kamailio log 
> shows this message: "ERROR: rtpproxy [rtpproxy.c:2536]: force_rtp_proxy(): 
> incorrect port 0 in reply from rtp proxy"
>
> I think I must call rtpproxy_manage() before I send the INVITE to each of the 
> Providers in the Contact list so they receive a SDP offer with an IP:Port 
> combination provided by the RTPProxy (instead of the ones coming from the 
> Customer). That would be in my route["INCOMING']
> Then once Provider_N replies with a 183 with SDP or a 200 OK I would call it 
> again to get a new session to be passed on the reply to my customer. But is 
> the part I am struggling with. Should I add a new reply route inside the 
> failure_route["INCOMING'] only if I am dealing with 302 and do it there ?
> I am out of ideas guys and any idea is welcome
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users@lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - March 5-7, 2018, Berlin - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com


_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to