News:

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

Main Menu

One stage dialling to remote OBi110's voice services in future firmware 1.3

Started by yhfung, March 18, 2011, 11:31:32 PM

Previous topic - Next topic

yhfung

Instead of using second-stage dialling which comes with a lot of analogue DTMF signalling detection problems such as DTMF signal levels, distortions, harmonics, etc due to extremly long distance (more than 10000 kilometers) between the caller DTMF generator and the callee's OBi110 DTMF receiver, is there a simple way such that a person in country A with an OBi110-A can make a remote PSTN call in country B via the OBi110-B's PSTN line installed in country B using a SINGLE digit-string such as

Using the remote PSTN line
**9 + <remote 9-digit-obi-number in country B> + **8 + <remote OBi110-B PSTN number>

Using the remote SP1
**9 + <remote 9-digit-obi-number in country B> + **1 + <remote OBi110-B SP1 number>

Using the remote SP2
**9 + <remote 9-digit-obi-number in country B> + **2 + <remote OBi110-B SP2 number>



OBI110-A and OBi110-B are configured as 'My OBi Endpoints' and other OBi110s non-registered would not have this function.

Since all the information trasmitted from OBi110-A to OBi110-B is in digital form, it does not involve any analogue DTMF signal detection mechanism. Most of people can make remote PSTN calls via the remote OBi110 PSTN line very easily.

If this feature is provided by OBi, I believe the demand of OBi110s will be increased significantly.

Hope this feature can be supported in the future firmware update.

For instance there are many people (500,000) with their families in Hong Kong and working in mainland China. They need make phone via the Hong Kong OBi110's PSTN line.

YH
Hong Kong and China OBi Users Group
www.telecom-cafe.com

yhfung

I am glad to see firmware 1.2 which has the one-stage dialling for remote OBi110 voice service.

However it seems that present method only applies to the primary voice service, right? If incorrect, please correct me.

<speed dial> + <*> + <number of the remote-OBi110 default primary voice service>

How to select other voice services which is not the primary voice service?

May I suggest to use the following method:

1) To access the default primary voice service
Same as above

2) To access the SP1 voice service
<speed dial> + <**1> + <number of the remote-OBi110 SP1  voice service>

3) To access the SP2 voice service
<speed dial> + <**2> + <number of the remote-OBi110 SP2  voice service>

4) To access the LINE port voice service
<speed dial> + <**8> + <number of the remote-OBi110 LINE port voice service>

5) To access OBiTalk voice service
<speed dial> + <**9> + <number of the remote-OBi110 OBiTalk voice service>

6) To access other voice service
<speed dial> + <**X> + <number of the remote-OBi110 other voice service>

The last should be defined by Obihai Technology later.
Hong Kong and China OBi Users Group
www.telecom-cafe.com

OBi-Guru

This is correct, only the primary line is supported with single stage dialing.   This is done for simplicity.
Access the AA on the remote OBi to make further calls on other lines.

yhfung

Using the OBi Programming Language (OPL)

If LINE port is not the primary line (trunk) that you want, you have to use the following method to have one-stage dialling to the remote OBi110's LINE port.

I added the following rule to the Voice Services > OBiTalk Service > InboundCallRoute:

{(caller OBi number)>(<*8:>xx.):LI}  ------------------ (1)

Please note that you have to disable the autoprovisioning option on your OBi110 otherwise the settings will be automatically resumed to the orginal settings from OBi portal server.

I used the Zoiper software + OBiAPP to make a outbound call as follows:

<speed dial> **8 + <PSTN telephone number>

Please note the speed dial should be stored by the OBiTalk Portal and not filled in by manual since this feature is provided by OBiTalk server such that ONLY the ''My OBi Endpoints" can have this feature.

The first asterisk is removed by the firmware 1.2 then rule 1 is fired. I am able to make a non-primary line PSTN call using one-stage dialling method.

YH
Hong Kong and China OBi Users Group
www.telecom-cafe.com

ajayhere24

My Scenario:

OBi box1 is at my place - It is connected to OOMA, and 2 google voice accounts
OBi box2 is at my parents place - It is connected to their Land Line(PSTN)
Both of these boxes are under my user account.

What i am trying to achieve:
Is to call my dads cell phone via box2. I will be calling box1 using my OOMA number. I want to be able to enter in a speed dial number which will simply do all the steps required to call my dads cell phone.

Question:
1) Is it possible for me to set this up via speed dial so that i can connect to box2, and dial out from there to my dads cell phone number?

thank you for your help,
Ajay

yhfung

How do you connect OOMA to OBi box1? Via the LINE port of box1?

YH
Hong Kong and China OBi Users Group
www.telecom-cafe.com

ajayhere24


jimates

@ ajayhere24

Single stage dialing from one Obi through another became available with the last firmware update. Once you access the Obi by dialing into it, you should be able to use that feature of the Obi.

So once you call into the Obi you should be able to place a call to your father's cell by using the single stage dialing set up in the speed dial of the Obi.

First, in order for you to access the Obi's AA the number you are calling from has to be a Trusted Caller ID of the Obi. You can't just call in from any number and access it.

Calling into your Obi from a Trusted Caller ID will reach the AA. You then select 2 to place a new call. Then you dial as if you were using the phone plugged into the Obi itslef.

Since both Obi's are in your account the other Obi should already be in your Obi's speed dial list. Once connected to the AA you press the number that corresponds to Obi #2, then press *, then enter the 10 or 11 digit number you wish to dial.

Example if Obi #2 is speed dial 4.

Call your Ooma from a Trusted Caller ID
the AA will answer
press 2 to make a new call
press 4*1 + your dad's number

the call will be delivered to your dad's phone using the default service of Obi #2
the caller id that shows on your dad's phone will be that of the service used at Obi #2 to place the call

One way to be able to access the AA from random phones is to use a google voice account just for that purpose. Put the google voice number in the Trusted Caller of the Obi. From any phone you can call the google voice number and access the google voice attendant to place a call into your Obi. The google voice number will always be the incoming caller id so the call will always go to the AA.

ajayhere24

Thank you for the quick answer! What i am trying to figure out here is can i store the obi # for box2 and my dads cell phone number in a speed dial? What i am trying to avoid is having to punch in all the numbers of my dads cell phone.

So from the following steps:

1) Call your Ooma from a Trusted Caller ID
2) the AA will answer
3) press 2 to make a new call
4) press 4*1 + your dad's number

can all of Step number 4 simply be a speed dial number so all i have to do is just hit a speed dial number like 5*(i am not sure how you use speed dial) and it dials the number for obi box2 and my dads cell phone number.

thank you,
Ajay

jimates

Quote from: ajayhere24 on March 30, 2011, 08:08:18 PM
Thank you for the quick answer! What i am trying to figure out here is can i store the obi # for box2 and my dads cell phone number in a speed dial? What i am trying to avoid is having to punch in all the numbers of my dads cell phone.

So from the following steps:

1) Call your Ooma from a Trusted Caller ID
2) the AA will answer
3) press 2 to make a new call
4) press 4*1 + your dad's number

can all of Step number 4 simply be a speed dial number so all i have to do is just hit a speed dial number like 5*(i am not sure how you use speed dial) and it dials the number for obi box2 and my dads cell phone number.

thank you,
Ajay

I misspoke when I said "Single stage dialing from one Obi through another ........."

Single stage Dialing is possible from one of the apps by assigning an Obi device as a default gateway.

What they gave us for Obi to Obi is referred to as Direct Dialing.

Direct Dialing is possible from one Obi through another Obi to a regular phone number. Although it may not seem to be very "Direct" what they really mean is you are bypassing the AA of the remote Obi. Step 4 is what you would have to do normally if you were dialing from the phone at the Obi itself. So at this time there is no way to shorten that part of the process. And everything involved prior to that is normal procedure for accessing the AA.

I feel sure that as things develop they will give use much better options for placing such calls.

Normally you would press 4# to speed dial Obi #2.
By pressing 4*xxxxxxxxxxx not only speed dials Obi #2, it tells the remote Obi to dial out on the other end.

yhfung

Quote from: yhfung on March 23, 2011, 09:18:45 AM
I am glad to see firmware 1.2 which has the one-stage dialling for remote OBi110 voice service.

However it seems that present method only applies to the primary voice service, right? If incorrect, please correct me.

<speed dial> + <*> + <number of the remote-OBi110 default primary voice service>

How to select other voice services which is not the primary voice service?

May I suggest to use the following method:

1) To access the default primary voice service
Same as above

2) To access the SP1 voice service
<speed dial> + <**1> + <number of the remote-OBi110 SP1  voice service>

3) To access the SP2 voice service
<speed dial> + <**2> + <number of the remote-OBi110 SP2  voice service>

4) To access the LINE port voice service
<speed dial> + <**8> + <number of the remote-OBi110 LINE port voice service>

5) To access OBiTalk voice service
<speed dial> + <**9> + <number of the remote-OBi110 OBiTalk voice service>

6) To access other voice service
<speed dial> + <**X> + <number of the remote-OBi110 other voice service>

The last should be defined by Obihai Technology later.


Does the future release of firmware version 1.3 have the above default Routes?

Since this provides more flexibility to the users. Besides the one-stage dialling for remote default line (trunk), other voice service can be accessed in a similar manner.


YH
Hong Kong and China OBi Users Group
www.telecom-cafe.com

asterisk@ck-lee.com

I would agree that a simplified approach should be incorporated into the future firmware.

jimates

Personally, I don't expect anything more from remote access than is available from the device itself.

IE:
direct dial for the default line from either place
press **? to access the other lines

Anything can be done from the callroute both locally and remotely.

yhfung

jimates,

If there is no problem in two-stage dialling, we may use two-stage dialling to complete the call. However, if the remote Obi device is 10000km away from your local OBi device, there are problems in sending ANALOGUE DTMF numbers over 10000km, what can you do?

The answer to this problem is use ONE-STAGE DIALLING method (The digits sent are in the form of DIGITAL DTMF form rather than the anlogue form, the successful rate is ALWAYS 100%). The dialling methods are as follows:

Supposed the remote speed dial number is 2 via the COT, then the remote voice resources are

**1 : SP1
**2 : SP2
**8 : PSTN Line
**9 : ObiTalk

The default remote primary line (trunk) is set to PSTN Line

1) To access the remote default primary voice resource, i.e. PSTN Line

Dialling method: 2* + <remote PSTN Line telephone number>


2) To access the remote Obi SP1 voice resource

Dialling method: 2**1 + <remote SP1 number to be called>


3) To access the remote OBi SP2 voice resource

Dialling method: 2**2 + <remote SP2 number to be called>


4) To access the remote OBi PSTN voice resource (redundant but provided for logical thinking to make calls)

Dialling method: 2**8 + <remote PSTN Line number to be called>


5) To access the remote OBi OBitalk voice resource  (redundant but provided for logical thinking to make calls)

Dialling method: 2**9 + <remote PSTN Line number to be called>


Since the remote OBi is belong to your COT, it is supposed that you are able access ALL remote OBi voice resources right?

In fact, I am able to accomplish this task by modifying the remote InBoundCallRoute of each voice resource. However I would like to make this feature to be the default settings in the firmware settings since most of the users know the logics but do not know how to modify the call routes.

With this added feature, most of users can easily access the remote sources WITHOUT any further modification to the call routes if this feature has been embebbded in the next firmware release.


YH
Hong Kong and China OBi Users Group
www.telecom-cafe.com

RonR

yhfung,

Despite Obihai's statement to the contrary:

Quote from: OBi-Guru on March 11, 2011, 09:28:03 PM

Direct dialing from OBiON can only be directed to the Primary Line of the OBi gateway device.


jimates says his OBi supports **1, **2, **8, and **9 direct dialing:

Quote from: jimates on May 04, 2011, 08:56:40 PM

this is my Obitalk InboundCallRoute
{(290xxxxxx)>(xx.):SP1},{(290xxxxxx):aa},{ph}

Calls from the 290xxxxxx (softphone number) accompanied by other digits are sent to sp1 or the ITSP profile (whatever), where they are again processed by the digitmap for that service.

if I dial **8, **1, **2 or **9; plus a valid number it is processed by the Obi the same as if dialed from the phone port.


without doing something like you proposed:

Quote from: yhfung on March 26, 2011, 03:50:55 AM

With the firmware 1.2, it is able to make direct dial with OBiON app. However you have to modify the inbound calling rule in Voice Services > OBiTalk Service > InboundCallRoute:

{(caller OBi number)>(<*1:>xx.):sp1}|
{(caller OBi number)>(<*2:>xx.):sp2}|
{(caller OBi number)>(<*8:>xx.):li}|
{(caller OBi number)>(<*9:>xx.):pp}

such that it allows you to use the following format to make non-primary-line trunk:

<speed dial> + **1 + <sp1 number>
<speed dial> + **2 + <sp2 number>
<speed dial> + **8 + <LINE number>
<speed dial> + **9 + <OBiTalk number>


I can't find any evidence to support that named DigitMaps or OutboundCallRoutes are used to process InboundCallRoute rules such that **1, **2, **8, and **9 would be honored.  The only way I can see it currently working is by using embedded DigitMaps as you outlined above.

jimates

RonR,

It did work at the time of that posting. It does not right now. What firmware was in effect on May 4th, I will downgrade to it and see if it works.

edit:
I tried 2283 & 2103, same results as 2286 (doesn't work).

I tried editing the callroute to add additional rules that force the call out sp2 when **2 is prefixed. I don't know enough about the rules.
The best I got was for the call history to show the **2+called number, and the call history does show the call going out on sp2 (default is sp1). But all I got on the app was a busy tone.
This is what I tried
{(290xxxxxx)>(xx.):SP1},{(290xxxxxx)>(**2xx.):SP2},{(290yyyyyy)>(xx.):SP2},{(290xxxxxx|290yyyyyy):aa},{ph}


RonR

Quote from: jimates on May 28, 2011, 08:19:31 PM

{(290xxxxxx)>(**2xx.):SP2}


You're matching the **2 AND sending it out SP2 with the rest of the number.

You should be using:

{(290xxxxxx)>(<**2:>xx.):SP2}

This matches the **2 and throws it away before sending the rest of the number out SP2.

jimates

was this discussion started in another sub forum so I can post there instead of here?

Edit:
Ok that all works great for me. But then, I am only dealing with 2 endpoints on my device.

with this callroute
{(290xxxxxx)>(xx.):SP1},{(290xxxxxx)>(<**2:>xx.):SP2},{(290xxxxxx)>(<**8:>xx.):LI},{(290yyyyyy)>(xx.):SP2},{(290xxxxxx):ph}
I am allowing access to all services for one endpoint and restricting the other to only sp2

incoming from 290xxxxxx
xxxxxxxxxx - sends the call out the default line (sp1)
**2xxxxxxxxxx - sends the call out sp2
**8xxxxxxxxxx - sends the call out the line
any other entry from this endpoint goes to the phone

incoming from 290yyyyyy
xxxxxxxxxx - call goes out on sp2 as per the single rule for this number

jimates

This is what I see as a solution.

This is an idea that has been coming back to me in several situations. It is still in crude form.

It requires getting away from the "generic" circle of trust, but for advanced users that should be ok.

Why can't we have user defined callroutes, the same as we have user defined digit maps. We create a digitmap or a callroute and reference it just like they are referenced now, except we can also reference them from callroutes.  (has anyone tired this)

Example: for this situation  (I know this can be shortened, I left it like this for some clarity)
Obitalk Service -> OutboundCallRoute =
{(UDCR1)>(xx.):SP1},{(UDCR2)>(<**2:>xx.):SP2},{( UDCR3)>(<**8:>xx.):LI},{(UDCR4):},{(290xxxxxx):ph}

In the "user defined" section, create lists of endpoints (UDCR?) that are to be referenced for the rules.
This defined route only needs to include a list of Obi endpoints that you wish to allow to use the designated services.
290aaaaaa|290bbbbbb|200aaaaaa|200bbbbbb.........................
The numbers can be in multiple defined routes to allow access to multiple services. The default circle of trust feature could automatically put a number in the first 3, which would equal the access it gives COT numbers now.

In my example,I have one for each service and one to reject. Any number not matching a rule will ring the phone. (I think I got it right)

With  multiple callroutes you can restrict certain users to certain services, or just reject their call by using an empty designation.

This first came to me as a way to create a list to block specific numbers, or to list specific numbers for forking or forwarding.



Without any security or circle of trust this exact call route allows access to all services from any incoming endpoint, all with direct dialing.
(no masking in this callroute, entered exactly as it appears)
{(290xxxxxx|200xxxxxx)>(<**1:>xx.):SP1},{(290xxxxxx|200xxxxxx)>(<**2:>xx.):SP2},{(290xxxxxx|200xxxxxx)>(<**8:>xx.):LI},{(290xxxxxx|200xxxxxx):ph}

RonR

Congratulations, you've reinvented the wheel!   :)

What you're doing is a variation of what yhfung came up with back in March:

http://www.obitalk.com/forum/index.php?topic=320.msg2901#msg2901


A much cleaner version of a general purpose dialing scheme is:


Voice Services -> OBiTALK Service -> InboundCallRoute:

{(Mcot)>(Mpli):pli},{(Mcot)>(<*1:>(Msp1)):sp1},{(Mcot)>(<*2:>(Msp2)):sp2},{(Mcot)>(<*8:>(Mli)):li},
{(Mcot)>(<*9:>(Mpp)):pp},{(Mcot)>(<**1:>(Msp1)):sp1},{(Mcot)>(<**2:>(Msp2)):sp2},
{(Mcot)>(<**8:>(Mli)):li},{(Mcot)>(<**9:>(Mpp)):pp},{(Mcot):aa},{ph}

Note: Replace pli above with your PrimaryLine trunk name (sp1,sp2,li,pp,tg1) as the OBi won't.


User Settings -> User Defined Digit Maps -> User Defined Digit Mapx:

Label : cot
DigitMap : (290aaaaaa|290bbbbbb|290cccccc|290dddddd|290eeeeee)


This should allow any OBiON application listed in the 'cot' User Defined DigitMap to call out the desired trunk using single-stage dialing:

[number] through the OBi defined as the OBiON gateway (using PrimaryLine)

[**n + number] through the OBi defined as the OBiON gateway (using **n)

[<Speed Dial> + **n + number] through the OBi gateway defined in <Speed Dial> (using **n)


There's no security issues as only OBi numbers defined in 'cot' can make calls.  Everyone else goes to the PHONE Port.