The EpSignal protocol is available on AppWebsocket connections to innovaphone PBX objects, if the object is enabled for the EpSignal api. It allows an application to insert itself into the signaling path of this device. All signaling messages to or from the device are then sent on this protocol. Signaling messages may be sent to the device or to the PBX.
This way the application may monitor any signaling done by the device, by forwarding the messages in both directions, or it may start signaling to the device or to the PBX on behalf of the device.
{
"api": "EpSignal",
"src": string,
"mt": string,
}
{
"api": "Api",
"mt": "Attach",
"hw": HardwareId
}
With this message the application attaches itself to a device addressed by hw
{
"api": "EpSignal",
"mt": "AttachResult",
"err": Error,
"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 Attach operation
{
"api": "EpSignal",
"mt": "Attached",
}
Indicates that the interface attached itself to a device. This may be delayed if no device was registered to the PBX at the time of the Attach. As soon as a device registers the interface attaches to it.
{
"api": "EpSignal",
"mt": "Detached",
}
Indicates that the interface detached itself from a device. This happens when the device unregisters from the PBX.
{
"api": "EpSignal",
"mt": "Sync",
"call": CallId,
"info": Info
}
Information about an existing call at at the time of the attach.
{
"api": "EpSignal",
"mt": "Signaling",
"to": Direction,
"call": CallId,
"sig": Signal
}
This message is used to transfer Signaling messages coded according to the innovaphone Json signaling protocol.
For the signaling messages the standard innovaphone Json Signaling objects are used
More information about the call
{
"channel": Channel,
"in": Direction,
"state": CallState,
"remote": Remote
}
null | Idle call, should not happen |
setup | A call was initiated |
setup-ack | A call was initiated, but more dialing information may be needed |
call-proc | Dialing information is complete |
alert | The called party alerted |
connected | The call is connected |
disconnected | The remote party disconnected the call |
disconnecting | The local device disconnected the call |
parked | The call was parked |
Information about the remote party of a call
{
"num": Number,
"sip": SipUri,
"dn": DisplayName,
}