Voicemail to SP4

<< < (2/3) > >>

ianobi:
azrobert,

That's clever thinking! I really must look deeper into Star Codes - seems they are a digit map with actions before digits are passed to the Phone Port DigitMap.

I don't quite understand the function of "< >" would this not work:

*98(sp1(*98)), Voice Mail, call($Code)

azrobert:
Quote from: ianobi on October 05, 2013, 12:04:13 pm

azrobert,

That's clever thinking! I really must look deeper into Star Codes - seems they are a digit map with actions before digits are passed to the Phone Port DigitMap.

I don't quite understand the function of "< >" would this not work:

*98(sp1(*98)), Voice Mail, call($Code)


ianobi,

Like I said in my previous post, I think there is a bug where the OBi ignores the 2nd right paren. Therefore, I wanted a solution without two adjacent right parens.

Since there is zero documentation on star code, the following is my guess based on the default Star Codes and my testing.

You can dial extra digits after the star code, but it must pass the Star Code DigitMap.
If the extra digits pass the DigitMap, they are placed in variable $Code.
The Star Code DigitMap is immediately after the star code between parentheses.

You can test with this:
*98(xxxxxxx), Set Speed Dial, set($Spd[99],$Code)

Dial *981234567
Then look at speed dial#99.

I'm not dialing any extra digits with my solution. Anything between the < > will be added to the variable $Code, the same concept as a Phone Port DigitMap. My solution dials out immediately and never gets to the Phone Port DigitMap.

If you dial more digits than the Star Code DigitMap allows, the extra digits will be sent to the Phone Port DigitMap.

In my example test above:
Dial *9812345678
Speed Dial#99 will be set to 1234567 and
8 will be sent to the Phone Port DigitMap
Speed Dial#8 will be executed.

I hope the above is correct.

Bob

ianobi:
Bob,

I have been doing some of what RonR called “empirical testing”. When I do it, it’s “trial and error” with lots of error   :)

Case 1 - *98(<sp1(*98)>), Voice Mail, call($Code)
Your method achieves genuine “Trunk Dialling”.  *98 is sent out of sp1 with no reference to any digit map or OutboundCallRoute. I’m sure that this is not what Obihai intended, but seems to me to be extremely useful.

With Star Codes I believe that Obihai intended that the Phone Port DigitMap should not be used, but any resulting “calls” should be processed throught the Phone Port OutboundCallRoute. If *98 is a rule in the ITSP Profile A DigitMap (Msp1), then the following work:

Case 2 - *98, Voice Mail, call(**1*98)
**1*98 can be seen leaving the Phone Port and is processed through the Phone Port OutboundCallRoute in the normal way and *98 goes out on sp1.

Case 3 - *98(*98), Voice Mail, call(sp1($Code))
Exactly the same as Case 2. call(sp1($Code)) is transformed into call(**1*98) and **1*98 can be seen leaving the Phone Port.


Case 3 is where I was confused. I thought that call(sp1($Code)) is intended to use genuine “Trunk Dialling”, but this is not the case. sp1 is transformed into **1 and used to route through the Phone Port OutboundCallRoute.

This thread has certainly added to my “OBi Knowledge Base”. Thanks for pointing me towards Star Codes!

Ian

azrobert:
Ian,

I'm not getting the results as you describe.

When I added *98 to the Phone Port DigitMap the *98 Star Code stopped working.

It appears the sequence of events after dialing a star code is:
Phone Port DigitMap, if this fails then Star Code DigitMap.
 
I setup the following test without *98 in the Phone Port DigitMap:
*98(*98), Set Speed Dial, set($Spd[99],$Code)

After dialing *98 I got a busy signal
After dialing *98*98 Speed Dial#99 was set to *98

It appears the 1st *98 is not sent to the Star Code DigitMap.

Bob

ianobi:
Bob,

I believe that the Phone Port DigitMap is ignored by Star Codes, assuming that a Star Code exists for that number. My tests indicated that *98 needs to be in the Phone Port OutboundCallRoute for Cases 2 & 3 to work. It does not need to be in the Phone Port DigitMap.

I believe that Star Codes are processed first and if a match is found, then it is acted upon and if "call" is the action, then the number is passed to the Phone Port OutboundCallRoute for transforming and routing.

Your format *98(<sp1(*98)>), Voice Mail, call($Code) ignores the standard rules and sends the call out directly, to sp1 in this case. This is very useful as it does not matter what is in the Phone Port DigitMap or OutboundCallRoute.

This may be a case of the two of us heading towards the same answer by different routes   :)

Ian

Navigation

[0] Message Index

[#] Next page

[*] Previous page