[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