Hi Jeff,
Well, according to RFC3261, a Contact hdr must carry a valid SIP URI -
now, in dip lookups, the answer is added as params to the SIP URI or to
the CT SIP hdr...depending...
If you uac_redirect does not server your purpose (like answer in in CT
hdr params), you can access the hdr directly like getting params :
$(<reply>ct.fields(params))
Regards,
Bogdan
On 11/23/2011 03:25 PM, Jeff Pyle wrote:
Bogdan,
I don't think the uac_redirect module in this case is helpful. The
Contact data that comes back from an LRN DIP's 302 isn't a real SIP
URI, but rather just some routing data that happens to be using a
302's Contact field as a transport mechanism.
Kent,
Sorry for the late reply... I do not. I use string transformations
to yank out the portions I need. Something like this in the
onreply_route from a 302 dip:
$var(lrnct) = $ct;
if !($(var(lrnct){param.value,rn}) == '') {
$var(call_lrn1) = $(var(lrnct){param.value,rn});
#.... more processing to clean up any leading 1's or +1s
}
I do not use the drouting module because my config is too old. I use
a combination of the lcr module to load gateways for a particular
carrier, or if a carrier has only one IP/hostname, I pull it directly
from a DB into an AVP and route to it.
I take the LRN data from the DIP along with some other items
(jurisdiction/ani/etc) and feel it to a Perl script to do the actual
LCR carrier selection. I keep all my carriers' rates in separate DB
tables and use mysql stored functions to normalize the rate lookup
into a standard format used by a while loop in the Perl script. The
rate function name that gets called is another usr_preference per carrier.
I certainly don't pretend this is the most efficient way, but it does
all our needs better than anything else I have been able to come up with.
- Jeff
On Tue, Nov 22, 2011 at 9:27 AM, Bogdan-Andrei Iancu
<bog...@opensips.org <mailto:bog...@opensips.org>> wrote:
Hi Kpirlo,
When sending the call to the dip provider, use a failure route in
order to catch the 3xx reply you get back. In the failure route,
use the uac_redirect module with the get_redirects() function
(http://www.opensips.org/html/docs/modules/1.7.x/uac_redirect.html#id250367)
in order to extract the redirect contacts from the reply and push
them as new destinations.
Regards,
Bogdan
On 11/20/2011 08:04 PM, Kpirlo wrote:
We are currently using the Dynamic routing module for our least
cost routing.
Now we are looking at implementing an LRN dipping service, where
we will send the call to a dip provider first and receive a 302
redirect back which will have the LRN returned in the contact
header as "rn=" if the number has been ported or will include
";npdi" in the contact header if it has not been ported.
Im asking for any advice anyone has on how to implement this and
how it could work with dymanic routing to choose the route based
on rn if available, but actually send the call using the original
"to" number.
Thank you in advance for any help.
Kent
--
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
OpenSIPS solutions and "know-how"
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users