News:

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

Main Menu

Obion200-RouteByIPAddressoOrMACaddress

Started by TommyRaton, January 31, 2016, 08:23:48 PM

Previous topic - Next topic

TommyRaton

Is it possible to create dialin rules for incoming calls to be broadcast to select IPAddresses or MAC addresses out through my router to some Android or IPhone WiFi connected app as the recipient?

I've had this OBI for a week and trying to figure out how I can get it to ring any of the multitude of old Wifi capable cell phones (that are not connected to a cell carrier) we have around the house and barn, as well as the singular land line to which it connects fine.

I don't seem to know the terms to create a reasonable query to answer this on my own.

thanks

azrobert

#1
You can route calls to an IP addresss. You need a trunk defined as SIP for this to work. If you don't have a SIP provider, you can define a dummy SIP trunk. Routing calls to multiple devices is called forking and you can send the call to 4 devices which includes the phone port. If you need to route the call to more than 4 devices, there is a hack for the OBi2xx devices.

Define a dummy SIP trunk like this:
Service Providers -> ITSP Profile B -> SIP -> ProxyServer: 127.0.0.1
Service Providers -> ITSP Profile B -> SIP -> X_SpoofCallerID: Checked
Voice Services -> SP2 Service -> AuthUserName: anything
Voice Services -> SP2 Service -> X_RegisterEnable: unchecked
Voice Services -> SP2 Service -> X_ServProvProfile: B
Voice Services -> SP2 Service -> MaxSessions: 5

Route the inbound call:
Voice Services -> SP1 Service -> X_InboundCallRoute:
ph,sp2(0@xx.xx.xx.xx:5060),sp2(0@yy.yy.yy.yy:5060),sp2(0@zz.zz.zz.zz:5060)

Use OBi Expert to make the above changes.

Edit:
You can also use those devices to make outbound calls on your OBi.

Edit2:
You will need to install a softphone on your devices. I use CSipSimple on my Androids.

TommyRaton

Lots of stuff to investigate.  Thanks for the directions.  I'll see what I can accomplish.

tom

azrobert

If you choose the CSipSimple softphone, it can be tricky to setup. Most softphones use the standard port 5060. The CSipSimple default assigns a random port number, so you have to configure a port number. CSipSimple can be setup without registration. If you choose a softphone that requires registration, you will need some changes on the ITSP-B/SP2 configuration in my last post.

Here is how I configure CSipSimple without registration:

You must use the Expert wizard to set no registration, but I find it easier to define an account with the Basic wizard then switch to the Expert Wizard.
CSipSimple requires a password.
Use any dummy password.
This example uses the OBi SP2 and it must be defined as SIP.

Save the 1st setup screen.
Do not add a new account now.
Press return to get the Dial Pad.
Press Menu on the phone
Select Settings
Press Menu on the phone again
Select Expert Mode
Select Network
Select UDP Port
It should be zero, change it to 5060 then OK
With zero a random port number will be assigned
Now you will always be assigned port 5060

Return to the Dial Pad
Tap menu, then accounts
Select Add Account.
Select the BASIC wizard
Account name = OBixxx
User = OBixxx
Server = xx.xx.xx.xx:5061        (OBi IP address and SP2 port#)
Password = anything
SAVE

Press and hold on the account name.
When a new screen appears, select "Choose Wizard".
Select Expert.
Select your account again.
Select Registration URI and blank it out, then ok.
SAVE
_____________________________

This is a general OBi Expert guide:
From the OBiTalk dashboard click Edit Profile on the left column.
At the bottom of the page check "Enable OBi Expert..."
Click Submit Query.
Now you can go directly to OBi Expert from the dashboard.
If you don't enable the OBi Expert button, you need 4 clicks to get to OBi Expert like this:
Click on the gear ICON, select OBi Expert, confirm and select OBi Expert again.   

Click OBi Dashboard.
On the right of your OBixxx is an icon with a red E.
Click on it to enter OBi Expert.

To navigate click on the titles with the +
Then click on a sub-title
An example click on Service Providers
Then click ITSP Profile A General
There are 2 boxes to the right of each parameter
To change a value uncheck the box under OBiTalk Setting
Then uncheck the box under Device Default
Now change the value
After you have made all the necessary changes for that page, click Submit at the bottom of the page.
OBiTalk will download the configuration changes to the OBi and reboot it.
Wait until this process is complete before continuing to the next page.
____________________________________________

If you want to place outbound calls from your devices, make this additional change on your OBi:

Voice Services -> SP2 Service -> X_InboundCallRoute:
{OBixxx>(xx.):sp1},{ph}

OBixxx must match User in CSipSimple
Outbound calls will be routed to SP1

TommyRaton

Thanks for all the direction azrobert.

Still working on this. 

I can call out with my cell masquerading as the GV number.  Still working on whatever misconfiguration I've created that is causing incoming not to fork in the Obi or not to be received by the CSipSimple app .  Only rings on the landline and the google voice web page when the page is open. 


TommyRaton

If you know offhand how to enable logging to confirm that forking is occuring in the Obi and that CSIPSimple is getting attempts to connect?

Thanks,

tom

azrobert

You can check the call history. It will show if the call is forked.
Did you assign a UDP port number in CSipSimple before you added the account?

To access Call History:
Log directly into the OBi using the local interface.
Key the IP address of the OBi into a Web Browser.
Hit Enter
The UserID and default Password are both "admin".
Click Status on the left column then click Call History.

azrobert

If you can't get it to work, CSipSimple can be registered to the OBi200

In addition to the previous OBi200 changes do this:
Service Providers -> ITSP Profile B -> SIP -> X_Proxy:  Checked
Voice Services -> SP2 Service -> AuthUserName : OBi200
Voice Services -> SP2 Service -> AuthPassword: password

Voice Services -> SP1 Service -> X_InboundCallRoute:
ph,SP2(OBi200@local_client)

Add a 2nd account on CSipSimple
From the Dial Pad
Tap menu, then accounts
Select Add Account.
Select the BASIC wizard
Account name = OBi200b
User = OBi200
Server = xx.xx.xx.xx:5061        (OBi IP address and SP2 port#)
Password = password
SAVE

In either OBi Expert or thru the OBi200 local interface
Click Status, the System Status
When you login thru the local interface, you will be presented the System Status.
Look at the SP2 Service Status
It should show the IP address of your Android and Port# of CSipSimple.

You can register multiple devices to the OBi200, but when you route the call to Local_Client only the last device to register will ring.

If this doesn't help to diagnose the problem, you can register the devices to a free service like Callcentric's IP Freedom account and then route the calls to Callcentric.

TommyRaton

Noticed some rather spurious data in some of the calls looking at the Call History.  Started over resetting the modem (***81) because it was enough odd that I thought there might have been some corruption from my fiddling around.

See the calls forking to the IP addresses.

I'll redo the CSlip configuration and see if that will work now.

Thanks again for the direction.

tom


TommyRaton

Service Providers -> ITSP Profile B -> SIP -> X_Proxy:  Checked

There's a couple of X_Proxy somethings with check boxes but I'm not seeing a standalone X_Proxy


The forking is working now.  Cell phone rings (have it only configured to ring one cell) as well as landline.  I've lost the ability to dial out from the cell through CSipSimple, I'll keep working on it. 

Thanks

azrobert

Voice Services -> SP2 Service -> X_InboundCallRoute:
{OBixxx>(xx.):sp1},{ph}

The 1st rule will route outbound calls from your cell to SP1. Try dialing * to ring the OBi phone port. The xx. will match 1 or more digits, so * will not be routed to SP1 and the 2nd rule will ring the OBi. If it doesn't ring, check the CSipSimple configuration to make sure you have the correct IP address and port. The OBi SP2 default port is 5061. One method to block SIP scanners is to change the port number, so make sure the port number hasn't changed. It is found here:
Voice Services -> SP2 Service -> X_UserAgentPort

azrobert

QuoteThere's a couple of X_Proxy somethings with check boxes but I'm not seeing a standalone X_Proxy

I made a mistake. The proxy parm is found here:
Voice Services -> SP2 Service -> X_Proxy

TommyRaton

Trying to make dialing with the * working to ring the obi phone/landline from the cellphone

Hope I'm correct in this but I have done nothing on the outgoing CSipSimple to "register" the cell phone with the OBi200.  Should be able to ring the phone with * regardless

"Voice Services -> SP2 Service -> X_UserAgentPort"

As you suggested I took a look at the proxy port on line 2 and indeed the default with my Obi200 was 5081.    This was changed to 5061.  Still doesn't ring the Obi200 connected phone via dialing on CSipSimple with

X_InboundCallRoute = {obi200>(xx.):sp1},{ph} (Note obi200 double checked as the Username CSipSimple)
X_UserAgentPort = 5061
(Note there is a line X_UserAgentPorts as well which is blank)
X_KeepAliveServerPort =5060

azrobert

QuoteCell phone rings (have it only configured to ring one cell) as well as landline.
Half way there.

QuoteI've lost the ability to dial out from the cell through CSipSimple, I'll keep working on it.
Does this mean it worked, but now it doesn't?

QuoteHope I'm correct in this but I have done nothing on the outgoing CSipSimple to "register" the cell phone with the OBi200.  Should be able to ring the phone with * regardless
The cell should work without registration. I have this exact setup and it works for me.

QuoteAs you suggested I took a look at the proxy port on line 2 and indeed the default with my Obi200 was 5081.    This was changed to 5061.  Still doesn't ring the Obi200 connected phone via dialing on CSipSimple
A port number mismatch will cause the call to fail. It should work now.
The name "obi200" is case sensitive and will cause outbound calls to fail if not an exact match. Will not prevent calling the OBi200 with "*".
For a test temporarily change the X_InboundCallRoute to ph and now dial 0 to ring the OBi200.
Is there any error message on CSipSimple when it fails?

Make sure the following is at the default of unchecked.
Voice Services -> SP2 service -> X_AcceptSipFromRegistrarOnly

I can't think of any other parm that would cause this to fail.
Everything should be at default except the parms I had you change.

I sure you checked this, but recheck if the IP address in the CSipSimple Proxy points to the OBi200.

TommyRaton

From CSipSimple  dialing 0 gets me a

401/unauthorized

I keep checking usernames configurations etc.  I'll try again deleting everything from CSipSimple and resetting the Obi and see what comes up.

Cell phone rings with incoming.
Outgoing calls works one or twice .

I'll just purge everything and try one or more times.


TommyRaton

Works!!

Forking works for incoming to ring the cell
Outgoing with CSIPSimple on the android phone masquerades as the GoogleVoice Landline
* dial rings the landline

Everything works

Only thing I did different was prior to doing all this ExpertMode stuff, I'd use the Obitalk page to give a name to SP2.  This time I skipped using Obitalk to name SP2 and went straight to ExpertMode and your configurations instructions.  Does touching SP2 with Obitalk, even giving SP2 a name on the Obitalk page,  interfere with Expert mode?

In any case works.  Any recommended iPhone Sip clients?  Probably should try to do the same on my wife's phone.

Works, Works, Works!!!!

azrobert

Quote from: TommyRaton on February 07, 2016, 12:35:38 AM
Only thing I did different was prior to doing all this ExpertMode stuff, I'd use the Obitalk page to give a name to SP2.  This time I skipped using Obitalk to name SP2 and went straight to ExpertMode and your configurations instructions.  Does touching SP2 with Obitalk, even giving SP2 a name on the Obitalk page,  interfere with Expert mode?

That's strange. I have no idea why it would cause a problem. Maybe someone else can answer your question.

I don't own an iPhone, so I can't test any clients. Zoiper is a free softphone available for both Android and iPhone, but I think it requires registration. Linphone is another. I have Linphone installed on a PC without registration, but I don't see the no registration option. Maybe it's defined with the Wizard on initial setup. If you can't find a client that will work without registration, just register it with the OBi200 by checking X_Proxy and supplying a password. You can then use SP2 for both registered and unregistered clients. Route inbound calls using its IP address, you don't have to use the Local_Client option.

Each inbound and outbound call will use one SP trunk session. I had you increase the MaxSessions on SP2. You should probably do the same for SP1.

azrobert

You can make the SP2 inbound route as sophisticated as you want. These examples will prevent you from dialing an invalid number:

{>0:ph},{obi200>(1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|<1aaa>xxxxxxx|011xx.):sp1}

Dial zero to ring the OBi200 phone.
This can be changed to anything you want.
Change aaa to your local area code for 7 digit dialing.

OR

Service Providers -> ITSP Profile A General => DigitMap:
(1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|<1aaa>xxxxxxx|011xx.)

Then use:
{>0:ph},{obi200>(Msp1):sp1}

The "obi200" is optional, so I didn't use it for the 1st rule. I used it for the 2nd rule as a password, so SIP scanners can't hack your OBi200 and place outbound calls. These options will also prevent them from ringing your OBi200 phone unless they send a zero as an outbound number.

TommyRaton

Zoiper as iPhone client.  Dials out via proxy port no problem.  Incoming calls that are forked to ring ph and this iPhone ring Zoiper but there's an immediate abort of the call.

Error in Call History

Call Failed (415 Unsupported Media Type; SP2(0@192.168.10.71:5060))

Any clue for what to search for?

thanks