Fetching Local Routing Number from the North-American Local Number Portability database

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Fetching Local Routing Number from the North-American Local Number Portability database

Francois Menard
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: [hidden email]










_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Fetching Local Routing Number from the North-American Local Number Portability database

Ovidiu Sas
You should be able to do all this with stock opensips and a lot of
transformations:
http://opensips.org/index.php?n=Resources.DocsCoreTran

Cordialement,
Ovidiu Sas

On Tue, Mar 31, 2009 at 2:36 PM, Francois Menard <[hidden email]> wrote:

> 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: [hidden email]
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Users mailing list
> [hidden email]
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Fetching Local Routing Number from the North-American Local Number Portability database

Jeff Pyle
In reply to this post by Francois Menard
Francois,

I also use a SIP-based LRN query service, on Opensips.  I assign the Contact
(pseudovariable $ct) of the 302 reply in a dedicated reply_route, and
further process it in the failure_route to extract the rn= header, reformat
into 10-digits, etc.  For my purposes it just worked out better that way
although you could probably do it all in the reply_route if you felt like
it.

Ovidiu is right -- the Core Transformations are your friend.  You can use
param.value to extract the rn, for example.  I'd recommend you focus on the
tm module as well, used for stateful routing.  Through it you'll be able
control the flow of the message within the proxy, processing it as required
for your application.


- Jeff



On 3/31/09 2:36 PM, "Francois Menard" <[hidden email]> wrote:

> 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: [hidden email]
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> Users mailing list
> [hidden email]
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users