I'm playing with Kamailio for the first time and I've managed to get it up and running making it possible to call between clients.
Is it possible to call several clients at once and the first to pic开发者_StackOverflow中文版k up the call gets it?
What you appear to be looking for here is multiple branching.
Before calling t_relay(), just use append_branch() to add multiple SIP URIs. This is covered in the TM module documentation.
...
route {
seturi("sip:a@example.com");
append_branch("sip:b@example.com");
append_branch("sip:c@example.com");
append_branch("sip:d@example.com");
t_on_branch("1");
t_relay();
}
branch_route[1] {
log("This is a new parallel branch of the call");
}
If you want the call to simultaneously ring all of the above URIs at the same time, this will do that.
Whichever call branch answers first with a 200 OK will be selected, and the remaining call legs will be CANCELed.
You can check on the various branches using the $branch pseudovariable
The talk there about "serial" forking and dealing with the Q number and t_load_contacts()/t_next_contacts() is about calling numbers in order until they are answered (similar to a "hunt group").
You shouldn't need to deal with any of that if you want them all to ring at the same time.
I have Kamailio, and my answer would be yes, you can. I have looked throught this tutorial: http://voip-sip-sdk.com/p_22-how-to-setup-ozeki-voip-sip-sdk-with-kamailio-voip.html
Here you can find a nice step-by-step guide for configuration. This Ozeki VoIP SIP SDK is for developers, and it allows you to create a customized VoIP application.
Regards, Michael
精彩评论