On Monday 24 March 2008, Douglas Garstang wrote:
Juha, I spent some time trying to understand and get the carrierroutefunctionality working today, and it looks like it doesn't solve myproblem either.
It appears that the default carrier cannot be changed during a call,which is no good. If we assumed that the domain was our carrier, thenit might be ok because we can call lc_rewrite_uri to switch domains,but once we've selected a new carrier, the gateways are selected basedon the 'prob' column in the db. This also isn't what we need. We needmore control than that.
Douglas,
first of all, there is no such thing like a 'call' in OpenSER, at least without the help dialog module. What you basically do is to route INVITEs to certain GWs. So i don't understand your complain here. If you need more control as possible at the moment, then perhaps you can extend the code? I guess that many people on this list just do this, instead of complaining.
I'm surprised no one has written a better module for this. In the realworld, you have multiple POPs, your carriers also have multiple POP's,multiple gateways. In the event you get a failure with one carrier, youprobably want to switch to the next cheapest carrier, not anothergateway within the same carrier (as it will probably just fail again).When selecting a carrier gateway, you need to choose the best POP touse before you select the trunk.
Carrierroute is used in 'real world' scenarios to route traffic for several million customers. We've a similar scenario like you describes. Ovidiu also give you some details about his usage. If you have a failure in the first domain, then you just skip to the next domain for the same carrier. If you don't like this, than you could do either:
- wait for release 1.4, with an improved carrierroute failure handling - hack yourself some solution on top of the available code - or try to come up with a db setup that implement a reasonable solution with the available release
Best regards,
Henning