Hi everyone.
I'm facing this problem when configuring a Ser as a proxy and a registrar.
I have the Ser and a IP pbx: the pbx registers itself on the proxy as pbx@<pbx_ip> (Contact header). I had to manage INVITEs messages for incoming call that are going towards the Ser, sent by UACs in the network.
INVITEs are coming in the form <telephone_number>@<ser_ip> (Req-URI): Ser had to decide if <telephone_number> is managed by the IP pbx (it has this information) and eventually, do a rewrite uri to <telephone_number>@<pbx_ip> and then forward the message to pbx.
So far, it's all ok.
Unfortunately, i have to handle also this situation: the ip pbx is down. At the present, the INVITE is forwarded towards the pbx, the ip pbx does not respond and after 10 seconds the requesting UACs sends a CANCEL. This latency is not acceptable. I'm looking for a way to implement this: after the rewrite uri to <telephone_number>@<pbx_ip>, look if I have a contact in usrloc with <pbx_ip> (i.e. the pbx is still registered): if not, send immediately a response 4xx to UAC. The problem is that i'm not able to access the usrloc db from the routing script... any hint?
Thanks a lot...