[Kamailio-Users] LCR to Carrierroute with DNS/SRV Support

Henning Westerholt henning.westerholt at 1und1.de
Mon Oct 6 12:37:27 CEST 2008


On Thursday 02 October 2008, Daniel-Constantin Mierla wrote:
> > I am/will be a newbie to 1.3.x and beyond and have a question
> > regarding a new requirement of two of my upstream providers.  We have
> > been running 1.1.1-notls since it was released.  We have been in the
> > mindset of, "if it's not broken, don't fix it".  But our upstream
> > providers are now telling us to move to DNS/SRV for signaling outbound
> > - for good reason.
> >
> > We have been using LCR for carrier/gateway selection and for URI
> > manipulation prior to relaying to a cluster of session boarder
> > controllers.  As you know the DB table for LCR only supports integers
> > in the gw table for ip_addr.  I have been reading up on 1.2.x and
> > 1.3.x to upgrade to a solution that would allow us to stay within the
> > same call processing (script) design, but still support the new
> > upstream requirement.  I noticed the carrierroute table rewrite_host
> > column is string.  Could this be used to satisfy my needs of
> > manipulating the URI for an IP where the carrier still uses a list of
> > gateway IP's to try and use the DNS/SRV domain name where the carrier
> > requires the use for SRV look-up?  The session boarder controllers
> > will conduct the SRV look-up after receiving the relayed message from
> > Kamailio, it is just getting the domain name on the URI instead of IP
> > address that I am looking to accomplish.  Will the carrierroute module
> > assist in this effort or is there another way that I am totally
> > missing?
>
> every request that leaves kamailio/openser is relayed based on SRV
> lookup, if it has a domain name in R-URI. I believe carrierroute does
> not cache the IP addresses for destination at startup, so you will get
> the domain name in the R-URI -- the developer of carrierroute module
> will confirm anyhow, be patient a bit, he is offline for few days.

Hello Kyle,

Daniel is right, carrierroute just rewrite the R-URI with the string that is 
found in the routing rule. It does not cache any DNS lookups. The rewritten 
message (with a domain) will be proceeded by the server core as any other 
message. So the scenario you described should work.

As a side note, if you only need to route to a few destinations, its also 
possible to use carrierroute without a database, which is perhaps easier to 
setup.

Cheers,

Henning




More information about the sr-users mailing list