Matt, I'd recommend writing a custom module using libcurl. One other thought, if you are flexible in your service offering you might be able to do something useful with db_http. -Brett
On Thu, Nov 4, 2010 at 9:37 PM, Matt Smith <[email protected]> wrote: > Hello List, > > I have a few carrier clients who are looking to use our CNAM (Caller > ID Name) service, and seeking to do lookup directly on OpenSIPS, > rather on the switch sitting behind the SIP router. > > We've provided our clients the following script snippets that uses the > PERL module to perform the necessary HTTP lookup and set an AVP that > will be used to change the Caller ID name with "uac_replace_from" > function. > > Can anyone suggest a better of doing the lookup and changing the > Caller ID Name? Is there a way to perform the HTTP lookup directly > from the OpenSIPS script? Also, how can we set a timeout on Opensips > to give up on the Perl script if no response is received after let's > say 1000ms, and return to regular routing? > > Here's our OpenSIPS script snippet: > > modparam("perl", "modpath", "/usr/lib/opensips/perl/") > modparam("perl", "filename", "/etc/opensips/bulkcnam.pl") > > route { > if (method == "INVITE") { > route(6); > return; > } > } > > route[6] { > perl_exec("cnamgetname"); > uac_replace_from("$avp(i:201)",""); > avp_delete("*"); > // Continue Routing... > } > > bulkcnam.pl File: > > use OpenSIPS qw ( log ); > use OpenSIPS::Constants; > use IO::Socket; > use HTTP::Request; > use LWP::UserAgent; > > sub cnamgetname { > my $m = shift; > $number = $m->getHeader(qw ( From)); > $number = test('sip:(.*?)\@', $number); > my $server = "http://cnamserverIP/?id=BulkCNAM-ID-here&did="; > $request = HTTP::Request->new( GET => $server.$number ); > $ua = LWP::UserAgent->new; > $response = $ua->request($request); > if ($response->is_success) { > $name = $response->content; > } > OpenSIPS::AVP::add(201,$name); > > return 1; > } > > sub test($$) > { > my $lookfor = shift; > my $string = shift; > if($string =~ m/$lookfor/) > { return $1 } > } > > > Thanks, > > Matt S. > > _______________________________________________ > Users mailing list > [email protected] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users >
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
