News:

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

Main Menu

List the macros, () commands availble in the OBi

Started by QBZappy, December 04, 2013, 07:32:06 AM

Previous topic - Next topic

QBZappy

Very little has been discussed about macros, () commands. The reason for this seems obvious. Very little information is available in order to tweak the OBi into a more malleable and useful product.

A complete list of () commands should be made available in order to allow some creativity in developing some call strategies. The advanced abilities hidden in these built in macros are obscure. As the OBi platform matures, some of the more advanced OBi users with the skills can craft these macros similar to what others have done with dial plans in the past, like RonR (and do I dare mention in the same breath) ianobi. There is no software engineering effort required. Obihai simply needs to document it and let the users do the rest.

Here is one of the few posts casually mentioning a use case for using a macro. In this case obiliving tells us about a new (up to then unknown) feature to control the jitter buffer using an OBi macro.

Re: Trouble with Credit Card terminal but faxing works great
http://www.obitalk.com/forum/index.php?topic=6625.msg41922#msg41922

Quote from: obiliving on September 13, 2013, 03:58:08 PM
Modem is sensitive to jitter buffer adjustments during a call. Your OBi can detect FAX tone and will switch off jitter buffer adjustment when FAX is detected (it might even switch to T.38/FAX Relay if the call peer also supports it). That makes your FAX work better.

However there is no Modem signal detection support.
There is a new feature in the latest firmware (3.0.1.4109) that may help (do a f/w upgrade first).
It allows you to disable jitter buffer adjustment for the next outgoing call, by dialing a *code (of your choice). This is what you can do: Add a Star Code (under Star Code Profile) like this:

*01, Modem Call, set($Noji1,200),set($Noec1,1),set($Cdm1,3)

The 3 set() commands tell the obi to do the following for the next outbound call:
1. Disable Jitter Buffer Adjustment, and use a fixed jitter buffer length of 200 ms
2. Disable Echo Canceller
3. Use only G711u and G711a codec

Replace *01 with any code you like, as long as it does not conflict with other codes.
Then dial the target number and see if the modem call works better.
Note that this only controls the OBi; the quality will still be affected by the behavior of the call peer and any network impairment. Good luck.
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.

giqcass

I have been digging around for this information myself.  I know there is a lot we can do with it if we just had some documentation.
Long live our new ObiLords!

CoalMinerRetired

Are the star codes, or rather the actual commands they invoke, considered macros? 

Examples:
*58, Disable Call Waiting once, set($Ucwa1,1)
*59, Enable Call Waiting once, set($Cwa1,1)

If yes, they might mean star codes entered from the dialpad are a portal into running any macro you can define.

P.S: I suppose I could read the manual and experiment, however I'm taking the lazy approach and asking instead.

giqcass

There must be other macros and variables available to us other then the ones described in the speed dial.  There is also the ability to define 4 user macros on the device plus you can add even more if you use a provisioning file.  There just isn't as much documentation as I would like on the subject.
Long live our new ObiLords!

Ostracus

Quote from: CoalMinerRetired on December 09, 2013, 09:31:44 AM
Are the star codes, or rather the actual commands they invoke, considered macros? 

Examples:
*58, Disable Call Waiting once, set($Ucwa1,1)
*59, Enable Call Waiting once, set($Cwa1,1)

If yes, they might mean star codes entered from the dialpad are a portal into running any macro you can define.

P.S: I suppose I could read the manual and experiment, however I'm taking the lazy approach and asking instead.

Too small a number of Star Code slots for that.

Ostracus

Quote from: giqcass on December 08, 2013, 08:38:09 PM
I have been digging around for this information myself.  I know there is a lot we can do with it if we just had some documentation.

Quote$CFA = call forward uncondi
tional enable (trunk specific;
admissible value: 0 for disable, 1 for enable)
$CFB = call forward busy enable (trunk specific; admissible value: 0 for disable, 1 for ena
ble)
$CFN = call forward no
-
answer enable (trunk specific; admissible value: 0 for disable, 1 for enable)
$CFAN = call forward unconditional number (trunk specific; admissible value: a token representing a call forward number)
$CFBN = call forward busy num
ber (trunk specific; admissible value: a token representing a call forward number)
$CFNN = call forward no
-
answer number (trunk specific; admissible value: a token representing a call forward number)
$MWS = message waiting state (trunk specific; admissible
value: 0 for no new messages, 1 for one or more new messages)
$DND = do
-
not
-
disturb enable (trunk specific; admissible value: 0 for disable, 1 for enable)
$BAC = block
-
anonymous caller enable (trunk specific; admissible value: 0 for disable, 1 for enable)
$BCI = block outbound caller
-
ID enable (trunk specific; admissible value: 0 for disable, 1 for enable)
$CWA = call
-
waiting enable on this phone port (phone
-
port specific; admissible value: 0 for disable, 1 for enable)
$BCI1 = block caller
-
ID once in the n
ext call on this phone port (phone
-
port specific; admissible value: 1 for enable)
$UBCI1 = unblock caller
-
ID once in the next call on this phone port (phone
-
port specific; admissible value: 1 for enable)
$LBM1 = Loopback media (audio samples) once in the n
ext call on this phone port (phone
-
port specific;
admissible
value: 1)
$LBP1 = Loopback RTP packets once in the next call on this phone port (phone
-
port specific;
admissible
value: 1)
$BAR1 = Barge
-
In once in the next call on this phone port (phone
-
port specific;
admissible
value: 1)


176
$NOEC1 = Disable echo canceller once in the next call on this phone port (phone
-
port specific;
admissible
value: 1) (Not
available on OBi100/OBi110)
$NOJI1
= Disable jitter buffer adjustment once in the next call on this phone port (phone
-
port specific;
admissible
value: 1)
(Not available on OBi100/OBi110)
$IBDT = Enable in
-
band DTMF transmission once in the next call on this phone port (phone
-
port specific;
admissible
value:
1) (Not available on OBi100/OBi110)
$BCLR = Clear all blocked callers (trunk specific;
admissible
value: 1)
$CIDG = Enable Generate Caller ID Generation on this phone port (phone
-
port specific;
admissible
value: 1 for enable, 0 for
disab
le)
$CWCIDG = Enable CWCID Generation on this phone port (phone
-
port specific;
admissible
value: 1 for enable, 0 for disable)
$MWIG = Enable MWI (Stutter Tone) Generation on this phone port (phone
-
port specific;
admissible
value: 1 for enable, 0
for disabl
e)
$VMWIG = Enable VMWI Generation on this phone port (phone
-
port specific;
admissible
value: 1 for enable, 0 for disable)
$BXRN = Blind transfer number for the current call on this phone port (phone
-
port specific;
admissible
value: a number
representing t
he blind transfer target). As soon as a complete blind transfer target number is collected, the OBi will (blind)
transfer the current call peer to the target number.

$CDM1 = Codecs to enable in the next call on this phone port (temporarily overriding any
codec preferences in device
configuration) (phone
-
port specific;
admissible
value: An 8
-
bit unsigned number where each bit of its value represents one
audio codec:
-
Bit0
(LSB) = G711u
-
Bit1 = G711a
-
Bit2 = G726r16
-
Bit3 = G726r24
-
Bit4 = G726r32
-
Bit5 = G726r40
-
Bit6 = G729
)
$LDN = last dialed number on this phone port (for redial) (phone
-
port specific; read only)
$LCR = last caller's number on this phone port (for call return) (phone
-
port specific; read only)
$SPD[
n
] = number for the speed dial
n
(
n
= 1

99) (g
lobal; admissible value: literal or token representing a phone number)
$CODE = the digit(s) representing the variable part of a star code (see examples below; read only)
Variable names are CASE INSENSITIVE.

I  noticed the Obiliving parameters are there.

giqcass

It seems that via Macros you can access just about any info in the Obi.  It's just really hard to find certain information.  $LCN or last called number for instance is considered a nacro but it will only expand in a few places.  You can't seem to use it in a user defined macro for instance.  You can however access it in a user defined macro by referencing it like this.
Value = $VoiceService.1.X_FXS.1.CallingFeatures.LastCallerNumber

Then if you put ANY in the Expand in section of the User defined Macro the macro can be used like a variable in any place.  IE  $UDM0

I'm currently digging through documentation to find out what useful information I can find and useful ways to use that information.
Long live our new ObiLords!