Hi,
I've a very strange scenario to work on which requires me to parallel fork the call to the same Destination provider. The only problem here is that they think that the second INVITE with different branch tag is a re-transmission and hence only take one call forward.
I do not have to modify any R-URI or any headers, hence just 'append_branch() before t_relay() is in the code.
... $ru = "sip:" + $rU + "@" + $avp(carrier_ip) + ":" + $avp(carrier_port); append_branch(); route(RELAY); ...
*Question:* Is there anyway possible I can change the CallID of the forked INVITEs ?
I have tried using Topoh module, but it still puts the same CallID before sending out. Different from the A-leg but the Sent out INVITEs have same Call-ID value.
In other weird scenario, I've also tried branching, and looping call within Kamailio before sending out to carrier hoping that Kamailio would treat the two different calls and Topoh would change the Call-ID on both INVITEs before sending out..
... if(is_present_hf("X-FORKED")) { $ru = "sip:" + $rU + "@" + $avp(carrier_ip) + ":" + $avp(carrier_port); route(RELAY); }else { append_hf("X-FORKED: 1\r\n"); append_branch(); route(RELAY); } ...
Still I get same Call-ID on outgoing branched call.
I could branch out one INVITE to a MediaServer, say FreeSWITCH/Asterisk but again I don't want to have that component bottleneck the throughput. That could be my very last option.
Looking for some ideas.
Regards, Sammy
Hello,
maybe you can loop through a 2nd instance of kamailio (can be same server, different port) that has topoh enabled.
Otherwise, if the gateway is matching on full r-uri, you can try to add some extra uri params, which are not relevant for target number.
Cheers, Daniel
On 05/07/16 21:54, SamyGo wrote:
Hi,
I've a very strange scenario to work on which requires me to parallel fork the call to the same Destination provider. The only problem here is that they think that the second INVITE with different branch tag is a re-transmission and hence only take one call forward.
I do not have to modify any R-URI or any headers, hence just 'append_branch() before t_relay() is in the code.
... $ru = "sip:" + $rU + "@" + $avp(carrier_ip) + ":" + $avp(carrier_port); append_branch(); route(RELAY); ...
*Question:* Is there anyway possible I can change the CallID of the forked INVITEs ?
I have tried using Topoh module, but it still puts the same CallID before sending out. Different from the A-leg but the Sent out INVITEs have same Call-ID value.
In other weird scenario, I've also tried branching, and looping call within Kamailio before sending out to carrier hoping that Kamailio would treat the two different calls and Topoh would change the Call-ID on both INVITEs before sending out..
... if(is_present_hf("X-FORKED")) { $ru = "sip:" + $rU + "@" + $avp(carrier_ip) + ":" + $avp(carrier_port); route(RELAY); }else { append_hf("X-FORKED: 1\r\n"); append_branch(); route(RELAY); } ...
Still I get same Call-ID on outgoing branched call.
I could branch out one INVITE to a MediaServer, say FreeSWITCH/Asterisk but again I don't want to have that component bottleneck the throughput. That could be my very last option.
Looking for some ideas.
Regards, Sammy
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Thanks Daniel, Both are good ideas and I will try and see how it goes. I just wanted to confirm that there is no way we can modify CallID of branches via script. This is fine too. Thanks again,
Best Regards, Sammy On Jul 6, 2016 06:11, "Daniel-Constantin Mierla" miconda@gmail.com wrote:
Hello,
maybe you can loop through a 2nd instance of kamailio (can be same server, different port) that has topoh enabled.
Otherwise, if the gateway is matching on full r-uri, you can try to add some extra uri params, which are not relevant for target number.
Cheers, Daniel
On 05/07/16 21:54, SamyGo wrote:
Hi,
I've a very strange scenario to work on which requires me to parallel fork the call to the same Destination provider. The only problem here is that they think that the second INVITE with different branch tag is a re-transmission and hence only take one call forward.
I do not have to modify any R-URI or any headers, hence just 'append_branch() before t_relay() is in the code.
... $ru = "sip:" + $rU + "@" + $avp(carrier_ip) + ":" + $avp(carrier_port); append_branch(); route(RELAY); ...
*Question:* Is there anyway possible I can change the CallID of the forked INVITEs ?
I have tried using Topoh module, but it still puts the same CallID before sending out. Different from the A-leg but the Sent out INVITEs have same Call-ID value.
In other weird scenario, I've also tried branching, and looping call within Kamailio before sending out to carrier hoping that Kamailio would treat the two different calls and Topoh would change the Call-ID on both INVITEs before sending out..
... if(is_present_hf("X-FORKED")) { $ru = "sip:" + $rU + "@" + $avp(carrier_ip) + ":" + $avp(carrier_port); route(RELAY); }else { append_hf("X-FORKED: 1\r\n"); append_branch(); route(RELAY); } ...
Still I get same Call-ID on outgoing branched call.
I could branch out one INVITE to a MediaServer, say FreeSWITCH/Asterisk but again I don't want to have that component bottleneck the throughput. That could be my very last option.
Looking for some ideas.
Regards, Sammy
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users@lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierlahttp://www.asipto.com - http://www.kamailio.orghttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
I ran into the same problem. Just that I may have more than two parallel forks. Am I right, that I need a kamailio instance for each fork.
-- View this message in context: http://sip-router.1086192.n5.nabble.com/Parallel-Forking-with-Different-Call... Sent from the Users mailing list archive at Nabble.com.
Hello,
On 23/02/2017 12:47, Kjeld Flarup wrote:
I ran into the same problem. Just that I may have more than two parallel forks. Am I right, that I need a kamailio instance for each fork.
what kind of problem? The next hop is matching on R-URI or it requires different Call-ID because of other reasons?
And indeed, if you need different call-id, I think you would need different kamailios with topos and different secret parameter for them. You can run them on the same system, just using different port.
Cheers, Daniel
Thanks for confirming Daniel
My issue is, that the call will pass a system with billing, which uses the callid, to keep track of the calls.
I can live with running multiple instances in this project.
I also have a Asterisk in my system, which I use to generate new callid's. I would like to take that one out of the loop, an replace it with a Kamailio. But if I cannot branch and get different call id's on the branches with just one kamailio instance, then it may just introduce more trouble.
Med venlig hilsen / Best regards Kjeld Flarup (Christensen) M.Sc E.E, Teknisk chef Viptel ApS, Hammershusvej 16C, DK-7400 Herning Telefon: +45 46949949, Telefax: +45 46949950,http://viptel.dk
On 2017-02-23 20:54, Daniel-Constantin Mierla wrote:
Hello,
On 23/02/2017 12:47, Kjeld Flarup wrote:
I ran into the same problem. Just that I may have more than two parallel forks. Am I right, that I need a kamailio instance for each fork.
what kind of problem? The next hop is matching on R-URI or it requires different Call-ID because of other reasons?
And indeed, if you need different call-id, I think you would need different kamailios with topos and different secret parameter for them. You can run them on the same system, just using different port.
Cheers, Daniel
The billing system should use the callid+from-tag+to-tag to match the invite with the bye. Relying only on callid can result on other issues over the times. Forking through a proxy is quite common and specified in RFC 3261.
Anyhow, event there is parallel forking to many branches, only one gets a 200ok -- once one does it, the other branches are cancelled by the proxy.
Cheers, Daniel
On 24/02/2017 15:00, Kjeld Flarup wrote:
Thanks for confirming Daniel
My issue is, that the call will pass a system with billing, which uses the callid, to keep track of the calls.
I can live with running multiple instances in this project.
I also have a Asterisk in my system, which I use to generate new callid's. I would like to take that one out of the loop, an replace it with a Kamailio. But if I cannot branch and get different call id's on the branches with just one kamailio instance, then it may just introduce more trouble.
Med venlig hilsen / Best regards Kjeld Flarup (Christensen) M.Sc E.E, Teknisk chef Viptel ApS, Hammershusvej 16C, DK-7400 Herning Telefon: +45 46949949, Telefax: +45 46949950,http://viptel.dk
On 2017-02-23 20:54, Daniel-Constantin Mierla wrote:
Hello,
On 23/02/2017 12:47, Kjeld Flarup wrote:
I ran into the same problem. Just that I may have more than two parallel forks. Am I right, that I need a kamailio instance for each fork.
what kind of problem? The next hop is matching on R-URI or it requires different Call-ID because of other reasons?
And indeed, if you need different call-id, I think you would need different kamailios with topos and different secret parameter for them. You can run them on the same system, just using different port.
Cheers, Daniel
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users