Jump to content

how to setup trunk to send a tech prefix to carrier


atilla.gahbro

Recommended Posts

outside of manually inserting a tech (leading digits, ex: 4387652 in front of 1npanxxyyyy) prefix in to each and every dial plan entry for each domain, is there a way to specify a tech prefix per trunk/domain ?

 

currently when we or any other itsp routes calls to a multi domain pbxnsip server the call has to be sent to the fqdn url of the domain and not the ip address as only localhost domain resources are available when the call comes in to an ip address

 

so on outbound traffic the pbxnsip server will send to the ip addresss of the itsp and with the ip address of the pbxnsip server and not the url of the domain

 

so the only way we can think of identifying domains is to use a tech prefix function per domain so they can share the same public ip address for outbound traffic

 

so in this config the billing system will bill for two trunk ids. one for origination (url based) and one for termination (static ip with tech prefix)

 

i cant think of any other way to do this but need to know if there is a clean way to specify a tech prefix per trunk per domain

 

i saw the prefix field under trunks but after reading up on it i see that its something entirely different

 

 

any thoughts would be appreciated

 

 

thanks

Link to comment
Share on other sites

outside of manually inserting a tech (leading digits, ex: 4387652 in front of 1npanxxyyyy) prefix in to each and every dial plan entry for each domain, is there a way to specify a tech prefix per trunk/domain ?

 

currently when we or any other itsp routes calls to a multi domain pbxnsip server the call has to be sent to the fqdn url of the domain and not the ip address as only localhost domain resources are available when the call comes in to an ip address

 

so on outbound traffic the pbxnsip server will send to the ip addresss of the itsp and with the ip address of the pbxnsip server and not the url of the domain

 

so the only way we can think of identifying domains is to use a tech prefix function per domain so they can share the same public ip address for outbound traffic

 

so in this config the billing system will bill for two trunk ids. one for origination (url based) and one for termination (static ip with tech prefix)

 

i cant think of any other way to do this but need to know if there is a clean way to specify a tech prefix per trunk per domain

 

i saw the prefix field under trunks but after reading up on it i see that its something entirely different

 

If you can register the trunk then inbound trunk identification is very easy for the PBX. It just uses the "line" parameter with a trunk identifier in it.

 

If not things indeed get tricky. Of course the IP address of the PBX is a very poor indicator where the call should go.

 

We found that using a DID number is the most natural way of finding out where the call should go. This is something that almost everybody understands "naturally", as it reflects the way people are calling resources in the telephone world. Even if it is a dummy DID (which cannot called from old grandma's phone) it still serves its purpose (note that there are more telephone numbers in North America than IP addresses in the world!). By adding the "ANI" for outbound presentation, and by having the telephone number as alias name of the account for inbound search, this is a easy way to do inbound and outbound mapping. You can even setup a global trunk that takes care about sending the call into the right domain.

 

In 3.3 we also added the possibility to have a global dial plan - which makes it more convenient to set up complex dial plans only once.

Link to comment
Share on other sites

i was referring to sending a tech prefix on outbound calls to the upstream carrier (our sbc/class4 switch)

 

currently all calls from pbxnsip are handled by a common trunk group in our billing system and we have to bill by the ani which presents a problem whenthe ani is suppressed. i know we have p-asserted to work with but that requires the billing systems to look in different places

 

we are trying to identify the domain making the call so we can have each domain (tenant) with its own trunk ip in our class4 switch so that the billing system just looks at the trunk id for billing and doe snot have to match the call record to a customer by ani

 

i know we can insert leading digits in the dial plan but that is too difficult ot manage long term

 

the global dial plan would be great but if the leading tech prefix has to be in the dial plan that too would not even be usable as each domains dial plan would be different

 

what i mean by a tech prefix is the leading digits requires by some carriers/itsps such as vitelity, flowroute, etc

 

on our sip trunking service off of our class4 switch we dont require a tech prefix on unique ip addresses but would simply use it in this case to identify the domain making the call

 

does that make sense?

Link to comment
Share on other sites

Not sure whether you are looking for the "Prefix" setting on the trunk page.

For help, search for "prefix" on this page http://wiki.pbxnsip.com/index.php/Outbound_Calls_on_Trunk

 

i was referring to sending a tech prefix on outbound calls to the upstream carrier (our sbc/class4 switch)

 

currently all calls from pbxnsip are handled by a common trunk group in our billing system and we have to bill by the ani which presents a problem whenthe ani is suppressed. i know we have p-asserted to work with but that requires the billing systems to look in different places

 

we are trying to identify the domain making the call so we can have each domain (tenant) with its own trunk ip in our class4 switch so that the billing system just looks at the trunk id for billing and doe snot have to match the call record to a customer by ani

 

i know we can insert leading digits in the dial plan but that is too difficult ot manage long term

 

the global dial plan would be great but if the leading tech prefix has to be in the dial plan that too would not even be usable as each domains dial plan would be different

 

what i mean by a tech prefix is the leading digits requires by some carriers/itsps such as vitelity, flowroute, etc

 

on our sip trunking service off of our class4 switch we dont require a tech prefix on unique ip addresses but would simply use it in this case to identify the domain making the call

 

does that make sense?

Link to comment
Share on other sites

from my original post:

 

i saw the prefix field under trunks but after reading up on it i see that its something entirely different

 

 

 

here is the note on prefix from the url that i reviewed prior to the post:

 

If that ANI is not set, the PBX checks if there is a Prefix set in the trunk. If this is the case, it puts the prefix in front of the primary account number and uses that as ANI. This is very useful in cases when a trunk deals with a range of numbers (typical outside of the NANPA area, e.g. Europe). The "extension" number is just put behind the prefix.

 

 

here is what i need:

 

domain xyz tech prefix is 478325

 

user dials 12134447777

pbxnsip sends 47832512134447777

 

like an auto insert to the outbound digits

 

since all traffic from pbxnsip gets sent from the same ip address we need to identify the domain making the call and can not think of any other way to do it

 

 

can this be done outside of the dial plan?

Link to comment
Share on other sites

from my original post:

 

i saw the prefix field under trunks but after reading up on it i see that its something entirely different

 

 

 

here is the note on prefix from the url that i reviewed prior to the post:

 

If that ANI is not set, the PBX checks if there is a Prefix set in the trunk. If this is the case, it puts the prefix in front of the primary account number and uses that as ANI. This is very useful in cases when a trunk deals with a range of numbers (typical outside of the NANPA area, e.g. Europe). The "extension" number is just put behind the prefix.

 

 

here is what i need:

 

domain xyz tech prefix is 478325

 

user dials 12134447777

pbxnsip sends 47832512134447777

 

like an auto insert to the outbound digits

 

since all traffic from pbxnsip gets sent from the same ip address we need to identify the domain making the call and can not think of any other way to do it

 

 

can this be done outside of the dial plan?

 

Oh, did you check out ICID (RFC 3455)? This is a simple method of tagging the request for outbound calls so that the upstream provider can tell where the call came from.

 

The prefix could also be a way for you. However, you must use ANI.

 

However, I would rather use common prefix in the ANI to have the same effect. Like the "area code" in the DID number.

Link to comment
Share on other sites

RFC 3455 wont work for associating to a trunk id in the class4 switch as it is not (on our network) a usable field for detecting the trunk id

 

i am not sure how the ani can be used when we need the digits in the dialed digits (dnis)

 

can you please explain?

 

i am not sure i understand the common prefix in the ani like the area code either.

 

 

thanks

Link to comment
Share on other sites

i am not sure how the ani can be used when we need the digits in the dialed digits (dnis)

 

Ehhh that is true.

 

Did you try something like this in the dial plan replacement:

 

sip:1234\1@\r;user=phone;other-arg=lalala

 

The "\1" is the match from the pattern, the \r is the domain name. This will go into the Request-URI of the request. Is that okay? The To-Header should usually not be used for routing purposes according to the SIP RFC.

Link to comment
Share on other sites

that would work to expose the sending domain but the upstream class4 switch does not look at that for determining the trunk id assigned to the domain

 

when traffic is coming from multiple domains wit the same ip address it can only use a tech prefix

 

for many itsp this is standard practice even when you are sending from a dedicated ip address. examples are, flowroute, grnvoip, etcetera

 

using the dial plan would work but it would have to be a manual config for each entry and each trunk. thats the problem.

 

many soft switches have a "tech prefix" field used just for this function and i was hoping there is something in pbxnsip trunk config that i was not aware of

 

i guess i will have to make several hundred entries in the dial plan

Link to comment
Share on other sites

i guess i will have to make several hundred entries in the dial plan

 

What does your dial plan look like?! Too many entries are not good anyway... Check out the regular expressions, they can make your life easier.

 

Also, did you try the prefix? If there is no trunk ANI and also no extension ANI, the PBX will put the prefix in front of the user name. For example, if you are calling from username 123 and the prefix is 123456, then the PBX will make 123456123 out of it.

Link to comment
Share on other sites

  • 1 year later...
Does anyone have a dial plan and trunk configuration that they could post for flowroute/PBXnSIP/snomONE? I've used flowroute for a long time now with asterisk and can set this all up very easily there but I'm totally lost at the moment with how to get this working in PBXnSIP.

 

You mean something like this: http://kiwi.pbxnsip.com/index.php/Callcentric. Maybe just open a new topic for this instead of appending it to this one...

Link to comment
Share on other sites

You mean something like this: http://kiwi.pbxnsip.com/index.php/Callcentric. Maybe just open a new topic for this instead of appending it to this one...

I would start a new topic except for that I'm having the exact same problem as the OP; I can't figure out how to append a tech prefix. I have ran some Pcaps and can see that I'm getting it to append the tech prefix via the SIP URI but Flowroute keeps returning a "TechPrefix and IP not in ACL -support@flowroute.com" message.

 

The reason I need to append the tech prefix is because I'm trying to use IP-based authentication for outgoing calls. I have my snom ONE server's IP:Port set on my flowroute Interconnection page. And I have a 1:1 nat configured on my firewall with port 5060 open on the inbound and everything opened up for sending out.

 

This is what my dialplan looks like (I've replaced my numeric Tech Prefix with "MYTECHPREFIX"):

 

100;flowroute;;911;"sip:MYTECHPREFIX#\1@sip.flowroute.com;user=phone"

200;flowroute;;xxxxxxx;"sip:MYTECHPREFIX#1425\1@sip.flowroute.com;user=phone"

250;flowroute;;xxxxxxxxxx;"sip:MYTECHPREFIX#1\1@sip.flowroute.com;user=phone"

300;flowroute;;1xxxxxxxxxx;"sip:MYTECHPREFIX#\1@sip.flowroute.com;user=phone"

350;flowroute;;011*;"sip:MYTECHPREFIX#\1@sip.flowroute.com;user=phone"

 

And I've set up the trunk as a SIP Reg, GW, and Proxy, all with no luck.

Link to comment
Share on other sites

FWIW, this is what flowroute writes about Tech Prefixes:

 

Tech Prefix

What's This?

The tech prefix is used if you choose to use IP-based authentication for outbound calls. To use it: define your outbound allowed IPs below, then prepend the tech prefix before each call.

Format for NANPA(USA/Canada) calls must be 11-digit.

Format for International calls must be Country code followed by number, no 011 or 00 required.

Example: To call NANPA (USA) - +1 310 555 1234, send the call to "MYTECHPREFIX#13105551234@sip.flowroute.com".

Example: To call International (France) - +33 1 5871 1234, send the call to "MYTECHPREFIX#33158711234@sip.flowroute.com".

SIP Proxy

sip.flowroute.com

Prefix

MYTECHPREFIX#

IP-based authentication is recommended for users with static IP addresses. However, if you are behind firewall or NAT router, you must use SIP Registration.

If you need assistance configuring your PBX or VoIP system, please visit our System Configurator.

Link to comment
Share on other sites

open offer to pbxnsip:

 

we will pay you $1000 to create a DNIS tech prefix field that will auto insert the tech prefix in front of the dnis on all outbound calls

 

to date we have over 300,000 un-billed outbound minutes for hosted pbx customers that are on the pbxnsip platform

 

 

we gave up trying to make this work as something so simple took so long just to get across (i am not even sure if it is actually clear to pbxnsip what we need)

 

this is what i do know: we cant manually enter it in each dial plan for for each trunk for each domain

 

it sounds like aarodynamics has the same issue as we did (still do)

 

i am not really sure how it can be expressed any simpler than just needing an outbound tech prefix just like you have an inbound tech prefix field

 

pbxnsip uses the ani tech prefix field for inbound calls in the same way upstream providers need the tech prefix field to be populated for inbound (outbound from the perspective of pbxnsip) calls

 

in our case instead of signaling the tech prefix to another service provider we are needing to send the tech prefix to our own class4 sansay switches so that our billing system can identify the domain/account making the call

 

i think something even something like inserting the name of the domain (under domain settings > default values) where we could enter a numeric tech prefix instead of a name would work

 

is there an argument switch that can be entered in to the dial plan that can insert the "name of the domain" ?

 

does this make sense? am i explaining it clearly?

 

i think many users would benefit from addressing this topic

Link to comment
Share on other sites

we will pay you $1000 to create a DNIS tech prefix field that will auto insert the tech prefix in front of the dnis on all outbound calls

 

We are not in the bounty business. But lets see if get the problem solved without a bounty.

 

does this make sense? am i explaining it clearly?

 

So let my try to understand what the problem is. Looking at the INVITE packet that the PBX sends to the gateway or service provider:

 

From: "1234" <sip:1234@itsp.domain.com;user=phone>

To: "4567" <sip:4567@itsp.domain.com;user=phone>

P-Asserted-Identity: "2345" <sip:2345@itsp.domain.com;user=phone>

P-Charging-Vector: 9876

 

So what you want is this:

 

From: "1234" <sip:1234@itsp.domain.com;user=phone>

To: "9876#4567" <sip:9876%234567@itsp.domain.com;user=phone>

P-Asserted-Identity: "2345" <sip:2345@itsp.domain.com;user=phone>

 

We already support RFC3455 (P-Charging-Vector) and this one depends on the trunk, so essentially my understanding is that there should be another way of indicating the charging vector?

Link to comment
Share on other sites

We are not in the bounty business. But lets see if get the problem solved without a bounty.

 

 

 

So let my try to understand what the problem is. Looking at the INVITE packet that the PBX sends to the gateway or service provider:

 

From: "1234" <sip:1234@itsp.domain.com;user=phone>

To: "4567" <sip:4567@itsp.domain.com;user=phone>

P-Asserted-Identity: "2345" <sip:2345@itsp.domain.com;user=phone>

P-Charging-Vector: 9876

 

So what you want is this:

 

From: "1234" <sip:1234@itsp.domain.com;user=phone>

To: "9876#4567" <sip:9876%234567@itsp.domain.com;user=phone>

P-Asserted-Identity: "2345" <sip:2345@itsp.domain.com;user=phone>

 

We already support RFC3455 (P-Charging-Vector) and this one depends on the trunk, so essentially my understanding is that there should be another way of indicating the charging vector?

 

I'm not SIP savvy enough to tell you if that is exactly what we need but it looks pretty close.

 

I'd suggest you just call up the folks at Flowroute and ask them what exactly is required for their tech prefix. Tell them that you would like to make your software work with them for IP-based authentication. I'm pretty sure that this is also the same format that Vitelity uses. Both Vitelity and Flowroute are becoming quite large in the ITSP market.

 

Thank you!

-Aaron

Link to comment
Share on other sites

thanks for the reply pbxnsip

 

here is the ideal situation:

 

create a value field or use an existing field to be inserted to the dnis of all outgoing calls for each trunk that requires it. so this would be a function to be activated on a per trunk basis

 

on our service we dont create trunk ids such as co01 co02 etc and create the exact same trunk for each domain. but this is not necessary if we could just use a global trunk and just select it for each domain which is much faster and less error prone. however it would need to pull the tech prefix from a domain field for each domain and not from the domain that he global trunk was created under

 

as for aarodynamics need specifically with flowroute, there is nothing special about it. they too just need to see a leading tech prefix in front of the dnis

 

so if you need to call 12135551234 you send tech12135551234 (replace tech with what ever numeric value they assign you)

 

our own internal needs are the same way

 

it just needs to be something that can be managed from the top down

 

is there a way yo insert the "name of the domain" using a switch argument in the dial plan or configuring a global trunk to pull it from the domain making the call?

 

the p-asserted id will not work unless you can insert the needed tech prefix in front of the dialed number (we are behind a class4 that our billing system reads cdrs from and on our network all billing goes by trunk id using static ip addresses or common ip address with leading tech prefix

 

please dont consider it a bounty. just call it professional services and lets get something workable. in place

 

v4 may have something to address this but i cant tell as we dont have a test environment for v4 yet

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...