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