[OpenSIPS-Users] Fetching Local Routing Number from the North-American Local Number Portability database

Francois Menard fmenard at xittel.net
Tue Mar 31 20:36:35 CEST 2009


Folks,

We have recently become a CLEC and we are entitled to query the North- 
American LNP database for routing information.

The information we want from the database, is the local routing number  
associated with a phone number which has been ported to another  
competitor of the ILEC.

We have direct interconnection trunks with the ILEC (inter-machine  
trunks) and we are to convey the LRN over the SS7 ISUP route between  
us and the ILEC in the ISUP Generic Address Parameter and turn up the  
Forward Call Identifier Bit M (FCI+M), for any call completed on an  
inter-machine trunk.

We have a SIP gateway which is able to perform this task when being  
sent a call over the SIP interface as per RFC 4694, which expects the  
URI in the invite message to contain the following syntax:

********************
http://tools.ietf.org/html/rfc4694
Section 6 C. A "tel" URI, tel:+1-202-533-1234, contains a geographical  
telephone number "+1-202-533-1234".
Assume that this geographical telephone number is ported and is  
associated with a routing number "1-202-544-0000". After retrieving  
the NP-related information, the "tel" URI would be set to:
tel:+1-202-533-1234;npdi;rn=+1-202-544-0000

****************

So the SIP message would look like

INVITE tel:+1-202-533-1234;npdi;rn=+1-202-544-0000 SIP 2/0

As you can see, if this does not take just a couple of minutes, and a  
bottle of pepsi to code, I would be highly surprised.

So the proposed task is as follows:

Parse a SIP 3XX redirect response coming from a SIP proxy operated by  
the local number portability service operator, and route the SIP  
message to a SIP gateway which is able to deal with the additional  
information in the INVITE i.e. INVITE tel:+1-202-533-1234;npdi;rn= 
+1-202-544-0000 SIP 2/0

I may decide to rewrite the rn= field to remove the +1- in front of  
the phone number and the - in the phone number, such as to send the  
gateway the following message:

INVITE tel:2025331234;npdi;rn=2025440000 SIP 2/0

Additionally, I may decide to translate the TEL uri to a SIP uri:

i.e. from

INVITE tel:+1-202-533-1234;npdi;rn=+1-202-544-0000 SIP 2/0

to

INVITE sip:2025331234;npdi;rn=2025440000 SIP 2/0

The job of the SIP gateway is to parse the npdi indicator and the rn=  
information and to map the npdi to an ISUP message flipping on the  
Forward Call Indicator Bit M as well as placing the content of the rn=  
2025440000

1, which specifies npdi=yes, and
2, play by the ILEC rules which I interconnect to and which wants to  
see the ISUP GAP parameter containing the content of the RN, i.e.  
2025440000

So the quesiton to all of you who known opensips well; is 1) can this  
be done without modifying the code of opensips, and 2) if the code is  
to be modified to allow the parser to deal with 'npdi' and 'rn=  
parameters' with full support for the regexp rewriting functions that  
we all love from opensips, then what process would you like us to  
follow to commit this patch.  Alternatively, we may be able to  
contribute some money for such a patch.

p.s., is anybody out there utilizing Opensips as a CLEC for LNP  
dipping purposes????

Best regards,

-=Francois=-

--
Francois D. Menard
Director of technology
Xittel telecommunications inc.
1350 Royale #800
Trois-Rivieres, QC
G9A 4J4
Tel: +1 819 601-6633
Urgency: +1 819 448-1383
Fax: + 819 374-0395
email: francois.menard at xittel.com












More information about the Users mailing list