PbxSignal

The PbxSignal protocol is available on AppWebsocket connections to innovaphone PBX objects, if the object is enabled for the PbxSignal api. It allows an application to register to the PBX the same way as this is possible with H.323 or SIP.

General structure

{
    "api": "PbxSignal",
    "src": string,
    "mt": string,
}

api
To address this interface the value "PbxSignal" has tp be used for the api property
src
The AppWebsocket src mechanism is supported on the interface. So a src property may be used
mt
The message type identifies the requested operation
Messages to the PBX Messages from the PBX
Objects - recurring definitions

Register

{
    "api": "PbxSignal",
    "mt": "Register",
    "src": string,
    "hw": string,
    "flags": string
}

This message initiates the registration to a device

hw
The hardware id of a device to register to
flags
Flags for the registeration as a string of flag ids seperated by '|'. The following flags are available:
NO_MEDIA_CALLIf this flag is set, this registration does not receive any calls with a media channel. This is useful if only operation, without a media channel are intended, as subscriptions or instant messaging

RegisterResult

{
    "api": "PbxSignal",
    "mt": "RegisterResult",
    "src": string,
    "err": string,
    "stun": string,
    "turn": string,
    "turnUsr": string,
    "turnPwd": string
    "prefixIntl":string,
    "prefixNtl":string,
    "prefixSubs":string,
    "area":string,
    "country":string,
    "maxIntern":integer,
    "tones":integer
}

Result of the Register operation. If err is not present, the operation succeeded.

stun
A list of STUN servers as IP addresses or host names, seperated by semicolon
turn
A list of TURN servers as IP addresses or host names, seperated by semicolon
turnUsr
The user name to be used with TURN
turnPwd
The password to be used with TURN
prefixIntl
Prefix to be used to dial an international number from this node, including any trunk prefix
prefixNtl
Prefix to be used to dial a national number from this node, including any trunk prefix
prefixSubs
Prefix to be used to dial a subscriber number from this node, including any trunk prefix
area
Area code to be assumed for the user
country
Country code to be assumed for the user
maxIntern:integer
Maximum length of internal number
tones:integer
The tones scheme to be used for dialtones

UnRegister


    {
    "api": "PbxSignal",
    "mt": "UnRegister",
    "src": string,
    "hw": string
    }

This message removes the registration to a device

hw
The hardware id of the registered device

Signaling

{
    "api": "PbxSignal",
    "mt": "Signaling",
    "call": integer,
    "sig": Signal
}

This message is used to transfer Signaling messages coded according to the innovaphone Json signaling protocol.

call
Integer which identifies the call. To avoid conflicts a positive number should be chosen for any call originating from the application. Negative numbers are reserved for inbound calls to application.
sig
The signaling message as innovaphone Signaling object.

Objects

Signal

For the signaling messages the standard innovaphone Json Signaling objects are used