[SR-Users] Try backup route

qmail at top-consulting.net qmail at top-consulting.net
Fri Apr 22 01:31:20 CEST 2011

I'm using Kamailio 3.1
I have a custom routing statement called MYROUTE which is placed like
route {  ...  route (MYROUTE);  route (RELAY);}
Inside MYROUTE I do some custom SQL checking that basically selects
the least cost provider for the ongoing call. The MYROUTE routine sets
the $rU, $rd and $rp variables in case a provider has been found for
the dialed number or fails with Sip code 404.
All this works perfectly, except in my database I also have an
alternate provider that I only wish to use as backup in case the main
provider returns a 5XX code.
How do I get Kamailio to try the second provider after the first one
failed ?
So far I've tried setting up a t_on_failure() command & routine that
picks up the backup provider from the database and sets $rU, $rd
  0(11460) DEBUG:  [parser/msg_parser.c:167]: get_hdr_field: cseq : 
  0(11460) DEBUG:  [parser/msg_parser.c:201]: DEBUG: get_hdr_body :
content_length=0  0(11460) DEBUG:  [parser/msg_parser.c:103]: found
end of header  0(11460) DEBUG: maxfwd [mf_funcs.c:66]: max_forwards
header not found!  0(11460) DEBUG:  [parser/parse_to.c:174]: DEBUG:
add_param: tag=4a2aab60  0(11460) DEBUG:  [parser/parse_to.c:803]:
end of header reached, state=29  0(11460) DEBUG: siputils
[checks.c:76]: totag found  0(11460) DEBUG: rr [loose.c:108]: No
Route headers found  0(11460) DEBUG: rr [loose.c:910]: There is no
Route HF
I believe the problem is that t_on_failure() does not keep all the
proper data associated with the call and that's why it fails. Maybe
t_on_failure isn't the right command to use here after all (?).
So to resume. Here's what I wish to achieve:
1 Call comes through2. Goes through MYROUTE where a provider is
selected3. Call is attempted through provider found in #24. If call
fails , select another provider5. Call is attempted through provider
found in #4
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110421/5cf2a509/attachment.htm>

More information about the sr-users mailing list