News:

On Tuesday September 6th the forum will be down for maintenance from 9:30 PM to 11:59 PM PDT

Main Menu

Using Obi100 as a gateway for other Obi devices

Started by Zopa, February 11, 2017, 12:24:47 PM

Previous topic - Next topic

Zopa

Hello,

I am trying to use older Obi100 I had around as a SIP gateway to Proxy connection to a VoIP provider. The reason I can't connect to a provider directly is because it's a wholesale type setup (Anveo Direct) requiring a static IP and I want to be able to proxy it like this.

Here is what I have setup on a Proxy (Obi100), let's call it Obi1:

SP1\X_InboundCallRoute = {1234567890>(<011:0ABCDEF>xx.):vg1}
SP1\X_UserAgentPort = 5063
SP1\ AuthUserName = 1234567890
SP1\ AuthPassword = Password

Voice Gateway 1\AccessNumber = SP1(sbc.anveo.com;ui=1234567890)



My client Obi (let's call it Obi2), also Obi100 is setup to route calls to Proxy Obi:

Physical Interfaces\PHONE\OutboundCallRoute = {(<011:06FPpE>xx.):vg1}

Voice Gateway 1\AccessNumber = sp1(111.112.113.114:5063)
Voice Gateway 1\DigitMap = (xx.)
Voice Gateway 1\AuthUserID = 1234567890
Voice Gateway 1\AuthPassword = Password


However, when I try to make a phone call from a phone connected to PHONE interface on Obi2, I see in call log that it's trying to connect to OBiTALK1 service instead of Voice Gateway 1 service I was trying to sent it to.

I would appreciate someone checking my setup and telling me where does OBiTALK1 coming from...

TIA

ianobi

#1
Here's a few ideas:

The routing to OBiTALK 1 is in fact an announcement most likely saying there is no call route available.

In both OBi's sp1 needs to be enabled and "active". Looks like sp1 in OBi1 may be is registered to anveo? OBi2 sp1 can be enabled using fake details such as:
Service Providers -> ITSP Profile A -> SIP -> ProxyServer : 127.0.0.1

Voice Services -> SP1 Service -> Enable : (checked)
Voice Services -> SP1 Service -> AuthUserName : (any letters or numbers not blank)
Voice Services -> SP1 Service -> X_ServProvProfile : A
Voice Services -> SP1 Service -> X_RegisterEnable : unchecked

In both OBi's set both vg1 passwords to blank.

In OBi 2 this digit map:
Voice Gateway 1\DigitMap = (xx.)
will not be able to process the letters that you are trying to send. Try this:
Voice Gateway 1\DigitMap = (@@.)

I'm not sure that will solve all your problems, but should get you some of the way.






Zopa

Thank you for suggestions. I'm still having problems and wonder if this tidbit in the documentation may be reason why.

Using SPn as a Proxy for a SIP IP Phone -- (Available on OBi202/OBi302 only)


ianobi

I don't believe that the "Using SPn as a Proxy" is relevant to your situation.

There is another routing problem in your setup:
OBi2:
Physical Interfaces\PHONE\OutboundCallRoute = {(<011:06FPpE>xx.):vg1}
This will remove 011 from the front of number xx. and replace it with 06FPpE. The resulting number "06FPpExx." is sent to OBi1.

OBi1:
SP1\X_InboundCallRoute = {1234567890>(<011:0ABCDEF>xx.):vg1}
This rule will only match numbers starting with 011. However the number you are sending from OBi2 starts with 06FPpE, so the call will fail.

I wonder if you might pick some simple test numbers to get this working before going for the final solution.


Zopa

Thank you. I have also noticed the incorrect prefix remap and fixed it, however the setup still doesn't work for now.

Side questions:

Q1. What the relevance of SPx() in Voice Gateway setup? The syntax calls for something like SP4(blah.provider.com). In this manner I have it setup at my house to router to Anveo as sp4(sbc.anveo.com;ui=19998887777). At my house I have SP4 on my OBi202 set as Proxy and use it in VG1 as well. I, however, not fully follow why I put SP4 and not SP1 or 2 or 3.

Is SPx in front of the parenthesis there to match the incoming trunk where the request to VG is coming from, or is simply used to signifies which specific trunk to use?

Q2. "Using SPn as a Proxy" only working on OBi202 as per documentation. I read it to mean that using Obi in a proxy mode (X_Proxy parameter) is a function that's only available in OBi202. Are you saying that it is not so?

-----------------------------------------------------------------------
Client OBi100 (OBi2) config:

SP1 is set to Google Voice, I leave it alone.

SP2 is enabled:
Voice Services -> SP2  Service -> Enable : (checked)
Voice Services -> SP2  Service -> AuthUserName : 12223334444
Voice Services -> SP2  Service -> X_ServProvProfile : B
Voice Services -> SP2  Service -> X_RegisterEnable : unchecked <- (I set it, but I don't think it's needed to enable the trunk, as per documentation)

ITSP Profile B -> SIP -> ProxyServer : 127.0.0.1

Physical Interfaces\PHONE\OutboundCallRoute = {([011]xx.):vg1} ...

Gateways and Trunk Groups\Voice Gateway1 -> Name : OBi Proxy
Gateways and Trunk Groups\Voice Gateway1 -> AccessNumber : sp2(1.2.3.4:5063) <- Static IP of Proxy OBi (OBi1)
Gateways and Trunk Groups\Voice Gateway1 -> DigitMap : (xx.)
Gateways and Trunk Groups\Voice Gateway1 -> AuthUserID : 12223334444
Gateways and Trunk Groups\Voice Gateway1 -> AuthPassword : Password

-----------------------------------------------------------------------
Proxy OBi200 (OBi1) config:

Voice Services -> SP1  Service -> Enable : (checked)
Voice Services -> SP1  Service -> AuthUserName : 12223334444
Voice Services -> SP1  Service -> AuthPassword : Password
Voice Services -> SP1  Service -> X_ServProvProfile : A
Voice Services -> SP1  Service -> X_RegisterEnable : unchecked
Voice Services -> SP1  Service ->  X_InboundCallRoute : {12223334444>(xx.):vg1}
Voice Services -> SP1  Service ->  X_UserAgentPort : 5063
Voice Services -> SP1  Service ->  X_Proxy : (checked)


ITSP Profile A -> SIP -> ProxyServer : 127.0.0.1

Gateways and Trunk Groups\Voice Gateway1 -> Name : Anveo Direct
Gateways and Trunk Groups\Voice Gateway1 -> AccessNumber : sp1(sbc.anveo.com;ui=12345678900)
Gateways and Trunk Groups\Voice Gateway1 -> DigitMap : (<011:06FPpE>xx.|<06FPpE>xx.) <-- (note: This works perfectly as-is in my other setup, no need to change to "@@.")
Gateways and Trunk Groups\Voice Gateway1 -> AuthUserID : 12223334444
Gateways and Trunk Groups\Voice Gateway1 -> AuthPassword : (not set)



Note on Anveo prefix. They want it set like this:

Sending calls through Anveo Direct is easy!

1. Configure Outbound Trunk(s)
2. Send calls from authorized IPs to:

[PREFIX]PHONENUMBER@SBC.ANVEO.COM

where [PREFIX] is your custom configured prefix for the trunk and PHONENUMBER is destination phone number with country code.

Prefix is used to identify a particular trunk for calls received from a particular IP address.
When Anveo Direct receives a call Outbound Trunk will be matched by source IP and Prefix.
Prefix is optional but it is STRONGLY recommended.
Prefix must start with 0 and it must be 6 alphanumeric characters long.
For example: 0aBCdE and 012345 are both valid prefixes.
When sending calls to Anveo Direct Trunk you need to include prefix in the dialed phone number.

azrobert

#5
A VG will re-use an already configured SP trunk. The parameters you specify in the VG will override the parameters in the SP trunk. A VG can't register to a provider, so it can only be used for outbound calls. When you specify access number "sp2(.....)" the VG will route calls out SP2. SP2 must be defined as SIP.

The "ui" parameter specifies a UserID.   AuthUserID also defines a UserID. I never used "ui" in a VG access number and don't know what will happen if both "ui" and AuthUserID are defined.

Like I said above, you are re-using an already defined trunk. This is a way to define 2 or more providers on the same trunk. If you are using a dedicated trunk for routing, you don't need to use a VG. Just define Anveo on the SP trunk. You can use this trunk to receive calls from the OBi100 and then re-route the call out the same trunk. You can define a dummy trunk and a VG (like you did).

The X_Proxy parm allows an SIP device to register to an OBi20x and has no effect on routing. Your setup doesn't require the X_Proxy parm. You don't want the OBi100 registered to the OBi200. This will cause audio problems. You have X_RegisterEnable unchecked on the OBi100, so you are not trying to register to the OBi200.

{([011]xx.):vg1}
You are checking for 0xx. 1xx. and again 1xx.
I think to want {(011xx.|xx.):vg1} or just {(xx.):vg1}

Why are you changing the OBi200 UserAgentPort to 5063?
5063 is the UserAgentPort for SP4.
Having the same port on two trunks can potentially cause problems.

Zopa

Thank you for your help!

I have changed the ports to default of 5060

I have adjusted the routing map to {(011xx.|xx.):vg1}

I now get Client OBI attempting to send calls to Proxy OBI (Terminal SP2  0117222333444@1.2.3.4). However, there is nothing in the call log on a Proxy OBI and the call eventually times out with a "no response from provider" announcement. So something is still off with my setup...

Here is my config. I'm omitting default values.

Client OBI:

Voice Services -> SP2  Service -> AuthUserName : 12223334444
Voice Services -> SP2  Service -> X_ServProvProfile : B
Voice Services -> SP2  Service -> X_RegisterEnable : unchecked
ITSP Profile B -> SIP -> ProxyServer : 127.0.0.1
Physical Interfaces\PHONE\OutboundCallRoute = {(011xx.):vg1} ...
Gateways and Trunk Groups\Voice Gateway1 -> Name : OBi Proxy
Gateways and Trunk Groups\Voice Gateway1 -> AccessNumber : sp2(1.2.3.4)
Gateways and Trunk Groups\Voice Gateway1 -> AuthUserID : 12223334444
Gateways and Trunk Groups\Voice Gateway1 -> AuthPassword : Password

Proxy OBI:

Voice Services -> SP1  Service -> AuthUserName : 12223334444
Voice Services -> SP1  Service -> AuthPassword : Password
Voice Services -> SP1  Service -> X_RegisterEnable : unchecked <-- Is this even needed?
Voice Services -> SP1  Service ->  X_Proxy : (checked) <-- Is this even needed?
Voice Services -> SP1  Service ->  X_InboundCallRoute : {12223334444>(xx.):vg1}
ITSP Profile A -> SIP -> ProxyServer : 127.0.0.1
Gateways and Trunk Groups\Voice Gateway1 -> Name : Anveo Direct
Gateways and Trunk Groups\Voice Gateway1 -> AccessNumber : sp1(sbc.anveo.com)
Gateways and Trunk Groups\Voice Gateway1 -> DigitMap : (<011:06FPpE>xx.|<06FPpE>xx.)
Gateways and Trunk Groups\Voice Gateway1 -> AuthUserID : 12223334444
Gateways and Trunk Groups\Voice Gateway1 -> AuthPassword : (not set)

Btw (and this is a side question), how do I re-route everything on the same trunk without using VG or another trunk? What do I put in X_InboundCallRoute on Proxy OBI, same trunk, i.e. X_InboundCallRoute : {12223334444>(xx.):sp1}?

Same question about re-use for Client OBI. Right now I route it VG1 directly from PHONE, but if I were to reuse SP2, then I would route it to SP2 (PHONE\OutboundCallRoute = {(011xx.):sp2} ...), but what do I change sp2\X_InboundCallRoute from ph? Do I put sp2 there again? Do I use something like {sp2>(xx.):sp2}

TIA

azrobert

I'll answer your questions after we get this to work.
Try the following:

Client OBI:

Voice Services -> SP2  Service -> AuthUserName : OBi100
Voice Services -> SP2  Service -> X_ServProvProfile : B
Voice Services -> SP2  Service -> X_RegisterEnable : unchecked
ITSP Profile B -> SIP -> ProxyServer : 127.0.0.1
Physical Interfaces\PHONE\OutboundCallRoute = {(011xx.):vg1} ...
Gateways and Trunk Groups\Voice Gateway1 -> Name : OBi Proxy
Gateways and Trunk Groups\Voice Gateway1 -> AccessNumber : sp2(1.2.3.4)
Gateways and Trunk Groups\Voice Gateway1 -> AuthUserID : OBi100
Gateways and Trunk Groups\Voice Gateway1 -> AuthPassword : Password

Proxy OBI:

Voice Services -> SP1  Service -> AuthUserName : OBi200
Voice Services -> SP1  Service -> AuthPassword : (Not set)
Voice Services -> SP1  Service -> X_RegisterEnable : unchecked <-- This is needed
Voice Services -> SP1  Service ->  X_Proxy : (unchecked) <-- not needed
Voice Services -> SP1  Service ->  X_InboundCallRoute : {OBi100>(Mvg1):vg1}
You weren't using the VG1 DigitMap. You have to explicitly reference it as above.

ITSP Profile A -> SIP -> ProxyServer : 127.0.0.1
Gateways and Trunk Groups\Voice Gateway1 -> Name : Anveo Direct
Gateways and Trunk Groups\Voice Gateway1 -> AccessNumber : sp1(sbc.anveo.com)
Gateways and Trunk Groups\Voice Gateway1 -> DigitMap : (<011:06FPpE>xx.|<06FPpE>xx.)
In the client you are only routing 011 numbers, so you don't need the 2nd rule.

Gateways and Trunk Groups\Voice Gateway1 -> AuthUserID : Anveo_ID
Gateways and Trunk Groups\Voice Gateway1 -> AuthPassword : Anveo_PW

If this still doesn't work, change the OBi200 SP1 Inbound call route to "ph" without quotes.
Now place a call.
The OBi200 phone port should ring.
Post the call history.

azrobert

#8
This is the config without a VG

Client OBI:

ITSP Profile B -> SIP -> ProxyServer : 1.2.3.4

Voice Services -> SP2  Service -> AuthUserName : OBi100
Voice Services -> SP2  Service -> X_ServProvProfile : B
Voice Services -> SP2  Service -> X_RegisterEnable : unchecked

Physical Interfaces\PHONE\OutboundCallRoute = {(011xx.):sp2} ...

Proxy OBI:

ITSP Profile A -> General -> DigitMap : (<011:06FPpE>xx.)
ITSP Profile A -> SIP -> ProxyServer : sbc.anveo.com

Voice Services -> SP1  Service -> AuthUserName : Anveo_ID
Voice Services -> SP1  Service -> AuthPassword : Anveo_PW
Voice Services -> SP1  Service -> X_RegisterEnable : unchecked
Voice Services -> SP1  Service ->  X_Proxy : (unchecked)
Voice Services -> SP1  Service ->  X_InboundCallRoute : {OBi100>(Msp1):sp1}

Zopa

Thank you soooo much for all your help!!! Everything is working.

The culprit was the X_UserAgentPort port on Proxy OBI. I had it changed from default 5060 on SP1 to 5063. Later I changed it on a ObiTALK interface by clicking "OBiTALK Settings" checkbox, presuming it'll go back to the default. It did on the ObiTALK side, but not on the actual device where it was still 5063. Changing it back fixed the issue.

I had to find a port mirroring switch and run a Wireshark to figure it out though.

I have this setup working fine now without a GV and with a password.

Again, THANK YOU VERY MUCH for your help!!!

Zopa

You know, you find the most obscure things while doing this troubleshooting. I went ahead and changed the AuthUserName from Obi100 to something I liked better, and everything stopped working. After about 30 minutes of scratching my head and rechecking everything, I found the issue to be with Anveo, where if you have a pure character based name, i.e. "Obi" it will fail with 503 CLI is invalid error. Adding a number to the name, i.e. "Obi1" fixes the issue. Go figure... Here is the post that made me figure it out. http://forum.sipsorcery.com/viewtopic.php?t=4635

PS could it have anything to do with xx. vs @@. discussion? Don't think so, as it gets to the provider, but it is peculiar nonetheless.

Zopa

I think I recall now why I was using ';ui=12223334444' in my GV setup. I believe it was to pass along the Caller ID info to Anveo and beyond. Btw, is there a way to add it my setup without using a GV, or is it really the same exact thing as AuthUserName?