News:

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

Main Menu

Star Code to a specific SP?

Started by 7Priest7, January 31, 2015, 11:03:18 AM

Previous topic - Next topic

7Priest7

Greetings,

Is there a way to cause a star code to use your non primary SP?
For example, I'd like to use *67 exclusively with SP2 as Google Voice doesn't support caller id blocking. If not, guess I can just use **2.

Thanks!

giqcass

#1
Yes you can.  I actually do that myself.  I use a second Google Voice account that does not have a number assigned for my *67 calls.

Change Star Code#5 to:
*67(<sp2(*67>xx.<)>), Call block, call($Code)



EDIT: I was looking at the code and realized my suggestion might not work with your set up.It may work with some providers like Callcentric.  In my original reply I was simply sending *67 out as part on the number.  I think the Obi sends it as a sip header.  As such *code 5 may need to remain as it was like the following.
*67, Block Caller ID Once, set($Bci1,1)

Then we may need to redirect the call using
physical intefaces >> Line port >> OutboundCallRoute

Perhaps someone with better skills can enlighten us.
Long live our new ObiLords!

SteveInWA

I answered this question in another thread, but I'm too lazy to go find it.

GV doesn't support anonymous calling.  *67 doesn't do anything.  Instead, set up a second Google Voice account without its own GV-supplied or ported-in phone number, and add it as another SP on your OBi.  Calls made from that SP will show a generic/shared Google phone number as caller ID.  You'll only use this SP for outbound calls, since it has no inbound number.

So, if the second GV account is provisioned on SP2, then simply prefix calls with **2 and then the phone number.

giqcass

#3
Quote from: ianobi on March 09, 2013, 05:51:11 AM
giqcas,

This will make every number that starts with *67 go out via sp2. I'm using sp2 of an OBi110 in this example. Changes shown in bold.

Physical Interfaces > PHONE Port > DigitMap:
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|*67(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))

Physical Interfaces > PHONE Port > OutboundCallRoute:
{([1-9]x?*(Mpli)):pp},{(<#:>|911):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(*67(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}

Now if you dial *6712345678912, this rule {(*67(Msp2)):sp2}, will match it and send *6712345678912 out to sp2.

The problem is that it stops you using *67 on any other service. Here is an alternative way:

Leave this at default:
Physical Interfaces > PHONE Port > DigitMap:
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))

Changes shown here in bold:
Physical Interfaces > PHONE Port > OutboundCallRoute:
{([1-9]x?*(Mpli)):pp},{(<#:>|911):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:*67>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}

Now if you dial **212345678912, this rule {(<**2:*67>(Msp2)):sp2}, will replace **2 with *67 and send *6712345678912 out to sp2.

All this assumes that you first do this as you suggest:
Delete the following line from your star codes
*67, Block Caller ID Once, set($Bci1,1)

Edit: No need to delete *67, Block Caller ID Once, set($Bci1,1) using the second method as you are using prefix **2 followed by the number, which gets transformed into *67 followed by number when processed through the Phone Port OutboundCallRoute.

This should be useful.
Long live our new ObiLords!

SteveInWA

That's ridiculous.  It is so much simpler to just enter **2, or whatever the SP is, that has been configured with the oubound/generic GV account.  Even with all that tweaker configuration, you'd still be pressing three buttons (*67).

giqcass

Quote from: SteveInWA on January 31, 2015, 06:07:21 PM
That's ridiculous.  It is so much simpler to just enter **2, or whatever the SP is, that has been configured with the oubound/generic GV account.  Even with all that tweaker configuration, you'd still be pressing three buttons (*67).
It sounds like he already has a service provider on SP2 and it isn't Google.
Long live our new ObiLords!

azrobert

If you want to use **2*67 followed by a number, you still have to do some tweaking.
The characters after **2  must match a rule in the ITSP B DigitMap and it doesn't.

This is the default ITSP B DigitMap:
(1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

*67 doesn't match any of these rules.

The Star Code giqcass suggested in the 1st reply should work.

SteveInWA

Agreed -- the simplest change possible to fix the digit map(s) to properly interpret a SP selection (e.g. **2 or **4) followed by a star code, would make the most sense.  In fact, IMO, Obihai ought to correct their default configurations to handle this.

The overall goal of supporting the OBi products should be to assume that less than 0.1% of the product line's users have the programming aptitude or interest in learning how to write, modify or maintain the sort of digit map code ianobi posts, and that the simplest, most technically-elegant solution, is always easier to understand and maintain, for the large majority of users.

Remember how many people had flashing 12:00 on their VCRs?  That's the paradigm to keep in mind.

202Owner

#8
Quote from: 7Priest7 on January 31, 2015, 11:03:18 AM
Greetings,

Is there a way to cause a star code to use your non primary SP?
For example, I'd like to use *67 exclusively with SP2 as Google Voice doesn't support caller id blocking. If not, guess I can just use **2.

Thanks!

Maybe... Star Code script processing is very finicky.  What works on my OBi202 may not work on your OBi.

Star Code scripts are barely documented on page 175 of the Admin Guide http://www.obihai.com/docs/OBiDeviceAdminGuide.pdf

I assume:
o  GV is on SP1 and another service is on SP2.
o  (Msp2) is defined to support the SP2 dialing requirements.
o  PHONE Port digit map and outbound call route are defined to route **2(Msp2) to the SP2 trunk.

Redefine the *67 Block Caller ID Once Star Code (edit, submit, reboot):

star code, description, action, action

*67(<**2>(Msp2)), B, set($Bci1,1), call($Code)

Leave the description argument B as a single letter... small.  I don't think the Star Code processing is intended to do too much.  Truncating the description seems to let it process ok here.

Dial *67number.  The number **2(Msp2) will be stored in variable $Code.  set($Bci1,1) will block CallerID once.  call($Code) will send the number **2(Msp2) to the PHONE Port outbound call route.

If you have a DID for SP2 and a CallerID filter defined to send Anonymous (no CallerID) to voice mail, a *67did call *should* go out SP2 to voice mail.  It works here.

7Priest7

Quote from: giqcass on January 31, 2015, 05:54:02 PM
Quote from: ianobi on March 09, 2013, 05:51:11 AM
This will make every number that starts with *67 go out via sp2. I'm using sp2 of an OBi110 in this example. Changes shown in bold.

Physical Interfaces > PHONE Port > DigitMap:
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|*67(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))

Physical Interfaces > PHONE Port > OutboundCallRoute:
{([1-9]x?*(Mpli)):pp},{(<#:>|911):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(*67(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}

This should be useful.

Thanks, incredibly useful stuff.
Now if only I could get my digitmap and outboundcallroute to actually apply.
I set obitalk expert config to use device defaults for those, then I unticked default on my devices config page, then I put some new digitmap and outboundcallroute. I tried it both without auto provisioning and with, doesn't seem to want to work today...

Did I mess them up somehow?
DigitMap ([1-9]x?*(Mpli)|[1-9]|[1-9][0-9]|<00:$1>|0|**1(Msp1)|*67(Msp2)|**2(Msp2)|**9(Mpp)|(Mpli))
OutboundCallRoute {(<411:18003733411>):sp1},{(*67(Msp2)):sp2},{([1-9]x?*(Mpli)):pp},{0:ph},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**9:>(Mpp)):pp},{(Mpli):pli}

To answer the reason of why, guests.
Explaining what **2 does is a stupid conversation.
Course at this point it would have been easier.

azrobert

#10
Quote from: giqcass on January 31, 2015, 11:34:11 AM
Yes you can.  I actually do that myself.  I use a second Google Voice account that does not have a number assigned for my *67 calls.

Change Star Code#5 to:
*67(<sp2(*67>xx.<)>), Call block, call($Code)
Using this method variable $code will contain sp2(*67Dialed#)
Now the call will be routed directly to SP2 and not thru the DigitMap and OutboundCallRoute

If you want to set variable $Bci1 instead of sending *67 to the provider use:
*67(<sp2(>xx.<)>), Call block, set($Bci1,1), call($Code)

Just explaining the difference between 202Owner's method and this.
Both will work.

202Owner

#11
I suggest you try Star Code *67(<**2>(Msp2)), B, set($Bci1,1), call($Code).

It may do what you asked, route a *67 call to SP2 and block CallerID once.  Simply dial *67 and the number... 'not ridiculous, and simple, and technically elegant'.   :)

It does not require prepending *67 to the outbound number and modifying the dial plan to support this.  Does your SP2 service provider recognize *67 as a feature code?

It will work with the default PHONE port digit map rule |**2(Msp2)| and outbound call route rule {(<**2:>(Msp2)):sp2}.  The number dialed will conform to the (Msp2) dialing requirements as it should... the user will not be waiting 10 seconds for the long interdigit timeout before the number is matched, and the number will conform to the dial plan rules including minimum digit dialing as defined.

It does not require dialing **2.

It does not require a second Google Voice account with no inbound DID, for anonymous outbound calling... which would consume your remaining OBi110 service provider slot.

ProfTech

If you only have a few numbers you want to use with a particular provider the simplest way is to use one of the Obi speed dial slots. Just use sp1(13181234567) or whatever sp you want. Thats it. If you want to make it 'generic' it's probably just as easy to use **2 though.