toly schrieb:
Greetings,
Suppose I need to do custom routing for outbound calls from UA - softphone.
Each user account may have the following info attached to it:
1:provider_a:2:provider_b:3:provider_c which means: forward call to provider_a, if failed forward call to provider_b if failed forward call to provider_c if failed send response back to UA
I do database lookup based on from, and get above string. Suppose I wrote my own dispatcher module which initially gets set to above string: 1:provider_a:2:provider_b:3:provider_c
and forwards to first provider, then on failure_route I call next_provider and so on.
Such things are usually done in the following way: - in the routing module: push the destination URIs into the AVPs with the same name e.g. in your case write the 3 destinations into AVPs (if you define an AVP 3 times, you will have 3 AVPs with the same name)
- in the config script main route: check if this certain AVP is defined, if yes activate a failure route, copy the AVP into $ru, delete the AVP, t_relay
- in the failure route: check if this certain AVP is still defined, if yes activate the same failure route again, copy the AVP into $ru, delete the AVP, t_relay. if no, send an error response back to the caller.
Will it work across multiple messages? Will it work correctly for each child - I mean joe@domain and paul@domain should be handled according their own providers?
Any other suggestions?
maybe you can use the carrierroute module.
klaus