use OpenSER::Constants;
use OpenSER::Utils::PhoneNumbers;
# Demonstrate how the PhoneNumbers class works.
sub canonical {
my $m = shift;
if ($m->getMethod() eq "INVITE") {
my $p = new OpenSER::Utils::PhoneNumbers(publicAccessPrefix => "0",
internationalPrefix => "+",
longDistancePrefix => "0",
countryCode => "49",
areaCode => "761",
pbxCode => "456842");
my $u = $m->getRURI();
if ($u =~ m/(.*)sip:([+0-9]+)\@(.*)/) {
my $c = $p->canonicalForm($2);
OpenSER::log(L_INFO, "canonical number in '$u' is '$c'\n");
} else {
OpenSER::log(L_INFO, "Not a POTS number.\n");
}
}
return 1;
}
sub dialnr {
my $m = shift;
if ($m->getMethod() eq "INVITE") {
my $p = new OpenSER::Utils::PhoneNumbers(publicAccessPrefix => "0",
internationalPrefix => "+",
longDistancePrefix => "0",
countryCode => "49",
areaCode => "761",
pbxCode => "456842");
my $u = $m->getRURI();
if ($u =~ m/(.*)sip:([+0-9]+)\@(.*)/) {
my $c = $p->dialNumber($2);
OpenSER::log(L_INFO, "dial number in '$u' is '$c'\n");
} else {
OpenSER::log(L_INFO, "Not a POTS number.\n");
}
}
return 1;
}
syntax highlighted by Code2HTML, v. 0.9.1