News:

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

Main Menu

OBi100 calling direct via LAN to OBi110 gets a busy signal. *SOLVED*

Started by chrizzle, June 04, 2016, 04:01:22 AM

Previous topic - Next topic

chrizzle

I have an older 100 and 110 that I have been using for years that I am recycling for use as a phone system between my folks' lake house and garage. I have the wired network working there, but they live in the middle of nowhere, where the Internet arrives via satellite. I need the two boxes to communicate via the LAN. I am using speed dials to call their IP's directly.

Both boxes are running the latest firmware (OBi-latest.fw downloaded yesterday) and have been factory reset. I have them set up to use themselves as the SIP proxy for SP1. I basically followed this thread: https://www.obitalk.com/forum/index.php?topic=7030.0

The 110 works great. It's able to call the 100 no problem, but I get a busy signal when I use the 100 to call the 110. ???

The call history for the 110 on a successful call:
   
Terminal ID   PHONE1   SP1
Peer Name      
Peer Number   sp1(garage@192.168.1.100:5070)   garage@192.168.1.100:5070
Direction   Outbound   Outbound
19:52:59   New Call   
19:53:02      Call Connected
19:53:09      End Call


The call history on the 100 lists this:
Terminal ID   SP1   PHONE1
Peer Name   house   
Peer Number   5678   
Direction   Inbound   Inbound
20:09:06   Ringing   
20:09:09      Call Connected
20:09:16      End Call


So, the 110 can call the 100 easy peasy. :)

The call history from the 100 for a failed call looks like this:
Terminal ID   PHONE1   SP1
Peer Name      
Peer Number   sp1(house@192.168.1.110:5080)   house@192.168.1.110:5080
Direction   Outbound   Outbound
20:09:35   New Call   
20:09:35      End Call (486 Busy Here)


Calling from the 100 to the 110, no joy.  ???

Here is the config for the 110 (which works):

Static IP 192.168.1.110
Service Providers > ITSP Profile A > SIP:
 ProxyServer: 127.0.0.1
 ProxyServerPort: 5060
 X_SpoofCallerID: checked
Voice Services > SP1 Service:
 Enable: checked
 X_ServProvProfile: A
 X_InboundCallRoute: {1234>(xx.):li},{1234>('house'):ph}
 X_UserAgentPort: 5080
Physical Interfaces > PHONE Port:
 PrimaryLine: SP1 Service
Physical Interfaces > Line Port:
 DigitMap: (1xxxxxxxxxx|[2-9]xxxxxxxxx|[2-9]xxxxxxS4|011xx.|xx.)
User Settings > Speed Dials:
 99: sp1(garage@192.168.1.100:5070)

Here is the config for the 100 that doesn't work:

Static IP 192.168.1.100
Service Providers > ITSP Profile A > SIP:
 ProxyServer: 127.0.0.1
 ProxyServerPort: 5060
 X_SpoofCallerID: checked
Voice Services > SP1 Service:
 Enable: checked
 X_ServProvProfile: A
 X_InboundCallRoute: {5678>(xx.):li},{5678>('garage'):ph}
 X_UserAgentPort: 5070
Physical Interfaces > PHONE Port:
 PrimaryLine: SP1 Service
User Settings > Speed Dials:
 99: sp1(house@192.168.1.110:5080)

So the 110 works great, but the 100 just gets a busy signal when I dial 99# I have been testing the 110 with a XLink Bluetooth box and my mobile phone to simulate a landline to make sure I can make and receive calls on the Telco Line port "normally" and that works great as far as I can tell.

Obviously I am missing something in the config of the 100, but I can't figure out what it is. Where can I look to see what the problem is? Is the error 486 "Busy Here" of any help?

Thank you for taking the time to read all of this and I sincerely appreciate any help that you can give me.  :D

ianobi

QuoteIs the error 486 "Busy Here" of any help?
The 486 message is the OBi110 rejecting the incoming call from the OBi100 because there in no rule in its InboundCallRoute that matches the incoming CallerID and Callee.

Obi devices have a few odd behaviours! In most circumstances enclosing letters in single quotes turns them into literals, so 'house' should all be literals. This is necessary when reserved characters are involved; these are m, M, s, S, x, X. In some places you have to only put single quotes around the particular letters (I don't know why!). This should work for the 110 InboundCallRoute:
X_InboundCallRoute: {1234>(xx.):li},{1234>(hou's'e):ph}

To avoid this problem I now usually give my devices numbers rather than names and use the numbers in a PBX type fashion. For example if house was renamed 202, then the 110 InboundCallRoute:
X_InboundCallRoute: ,{1234>(202):ph},{1234>(xx.):li}
Rules are tested in order from left to right, therefore 202 would route to ph, any other numbers would route to li.

Some other changes to the OBi100:
The OBi100 does not have a Line Port, so no need to refer to li:
X_InboundCallRoute: {5678>(garage):ph}
Also I dropped the single quotes as they are not required.


You may already have the next items covered, but just in case:

To dial from the OBi100 through the OBi110 to get to its Line Port, this is needed in the OBi100 setup:
Service Providers -> ITSP Profile A -> SIP -> OutboundProxy : 192.168.1.110
Service Providers -> ITSP Profile A -> SIP -> OutboundProxyPort: 5080

If you want both devices to ring when there's an incoming call on the OBi110 Line Port, then you need this in the OBi110 setup:
Physical Interfaces -> LINE Port -> InboundCallRoute
{ph,sp1(1234@192.168.1.100:5070)}


Now you have made me look (over two years later) I should go back and make couple of changes to my original post. My OBi work is never done   :D

chrizzle

Quote from: ianobi on June 04, 2016, 06:57:50 AM
QuoteIs the error 486 "Busy Here" of any help?
The 486 message is the OBi110 rejecting the incoming call from the OBi100 because there in no rule in its InboundCallRoute that matches the incoming CallerID and Callee.
...
To avoid this problem I now usually give my devices numbers rather than names and use the numbers in a PBX type fashion. For example if house was renamed 202, then the 110 InboundCallRoute:
X_InboundCallRoute: ,{1234>(202):ph},{1234>(xx.):li}
Rules are tested in order from left to right, therefore 202 would route to ph, any other numbers would route to li.
...
Now you have made me look (over two years later) I should go back and make couple of changes to my original post. My OBi work is never done   :D


Dude, thank you so much for your reply!!

I never would have figured that out!! ;D

Also thanks for the suggestion of using numbers instead of words, that never occurred to me.

I will make those modifications tonight and post the results. Thanks again!!

chrizzle

I got the LAN calling working, along with the OBi100 for the garage using the PSTN line on the OBi110 in the house for outgoing calls.  ;D

The only thing I am having trouble with is getting the 100 to ring when a PSTN call comes in on the 110. I took Ianobi's suggestion to use numbers instead of letters for identifiers, which helps tremendously.

Dialing any phone number on either phone goes out via the PSTN Line port on the OBi110. If either phone dials 99# it will ring the other phone.  All I need to get working now is getting the OBi100 to ring on an incoming call to the PSTN line on the 110.

Here is my config in case anyone's interested:

OBi100 (Garage/201)
Static IP 192.168.1.100

Service Providers > ITSP Profile A > SIP:
  ProxyServer: 127.0.0.1
  ProxyServerPort: 5060
  OutboundProxy : 192.168.1.110
  OutboundProxyPort: 5080
  X_SpoofCallerID: checked
 
Voice Services > SP1 Service:
  Enable: checked
  X_ServProvProfile: A
  X_InboundCallRoute: {5678>(201):ph}
  X_RegisterEnable: unchecked
  X_UserAgentPort: 5070
  AuthUsername: 1234
  CallerIDName: GARAGE
  MaxSessions : 4

Physical Interfaces > PHONE Port:
  PrimaryLine: SP1 Service

User Settings > Speed Dials:
  99: sp1(202@192.168.1.110:5080)


OBi110 (House/202)
Static IP 192.168.1.110

Service Providers > ITSP Profile A > SIP:
  ProxyServer: 127.0.0.1
  ProxyServerPort: 5060
  X_SpoofCallerID: checked

Voice Services > SP1 Service:
  Enable: checked
  X_ServProvProfile: A
  X_InboundCallRoute: {1234>(202):ph},{1234>(xx.):li}
  X_RegisterEnable: unchecked
  X_UserAgentPort: 5080
  AuthUserName: 5678
  CallerIDName: HOUSE
  MaxSessions : 4

Physical Interfaces > PHONE Port:
  PrimaryLine: PSTN Line

Physical Interfaces -> LINE Port -> InboundCallRoute:
  {ph,sp1(1234@192.168.1.100:5070)}

User Settings > Speed Dials:
  99: sp1(201@192.168.1.100:5070)


Quote from: ianobi on June 04, 2016, 06:57:50 AM
If you want both devices to ring when there's an incoming call on the OBi110 Line Port, then you need this in the OBi110 setup:
Physical Interfaces -> LINE Port -> InboundCallRoute
{ph,sp1(1234@192.168.1.100:5070)}

This is the part that I am stuck on. The OBi110 rings on an incoming call, but not the 100. I have tried using 201 in the SIP URI with no change.

I also tried setting up an outbound sip proxy on the 110 to connect to the 100 (a reverse of the setup on the 100) but with no luck.  The call history on the 110 for an incoming PSTN call looks like this:

Terminal ID   LINE1   
Peer Name      
Peer Number   15136332323   
Direction   Inbound   Inbound
16:21:36   Ringing   Forking to:PHONE1, SP1(1234@192.168.1.100:5070)
16:22:01   End Call


There is no history of the call on the 100.

What am I missing? Thanks again for reading all of this and I appreciate any further assistance that you can provide.

azrobert

Make the following change:
OBi100 -> Voice Services -> SP1 Service -> X_InboundCallRoute: ph

On the OBi110 you need to test for an inbound call or an outbound call destined for Line, but on the OBi100 you just have inbound calls. The easiest fix is to send all calls to the phone port.

There is a difference between calling the OBi100 directly via speed dial and routing an inbound PSTN call. The latter is called bridging. When you bridge a call with X_SpoofCallerID, you will send the inbound CallerID. That is why your mods didn't work.

I'm not sure if your OBi's are connected to the internet, but when you just have "ph" for the inbound route SIP scanners will be able to ring the OBi100 phone port.  If you are concerned about this, I'll let ianobi show you how to block them.

If any of you have wondered where I've been, I just needed a break from the forum. You probably won't see me again for awhile.

ianobi

QuoteThere is a difference between calling the OBi100 directly via speed dial and routing an inbound PSTN call. The latter is called bridging. When you bridge a call with X_SpoofCallerID, you will send the inbound CallerID. That is why your mods didn't work.

Very good point. I should know better as I use a similar setup myself! I recommend:
OBi110 -> LINE Port -> InboundCallRoute: {ph,sp1(201@192.168.1.100:5070)}
OBi100 -> Voice Services -> SP1 Service -> X_InboundCallRoute: {>(201):ph}
This accepts any CallerID, but the callee must be 201. For added security you could change every instance of 201 in your setup and speed dial to a much more complex number that scanners will not likely guess.

For more added security change the UserAgentPorts in both OBi devices to numbers higher than 30000. Be careful to change all instances where that number is used.

Do what azrobert advices first to prove that all functions work as required. Then add my suggestions one at a time.


QuoteIf any of you have wondered where I've been, I just needed a break from the forum. You probably won't see me again for awhile.

Enjoy your break! I suspect a good digit map or call routing problem may tempt you back   :)

chrizzle

Quote from: azrobert on June 05, 2016, 08:15:17 PM
Make the following change:
OBi100 -> Voice Services -> SP1 Service -> X_InboundCallRoute: ph

...

I'm not sure if your OBi's are connected to the internet, but when you just have "ph" for the inbound route SIP scanners will be able to ring the OBi100 phone port.  If you are concerned about this, I'll let ianobi show you how to block them.

Thanks for this suggestion, this fixed it. Both phones ring on an incoming call to the PSTN line.

One of the reasons that I prefer OBi ATAs to Cisco or Grandstream is that for most setups they work without opening ports on your firewall. I prefer to keep my VOIP gear behind a hardware firewall with no SIP ports exposed to take care of the "ghost calls" problem.

For PBX type connectivity, my preferred method is to set that stuff up on the provider side, either via OBiTalk, Google Voice, or sub accounts from a provider, such as with VOIP.ms or Simon Telephonics.

With this setup, I am fairly sure that while my folk's network is connected to the Internet, the OBi gear won't actually talk to the Internet because it's on a different IP subnet.  That's the hope anyway :) I will let the connection to the PSTN be handled by whatever they plug into the PSTN port on the OBi110.

Thanks again for all of your help. I sincerely appreciate it :)