The VoIP Control Status Block supports the use of Call State monitoring in order to poll information about the current call state of the telephone card. The response will include multiple information fields for all lines and call appearances of the card. Call State is also available as a subscribed service to allow unsolicited feedback to a connected control system via TTP. A full call state subscription update will be sent if any single part of the call state has changed.
This command will give a onetime indication of the current state of the VoIP phone. The Instance Tag is variable and needs to match what is running in the current configuration.
Instance Tag | Command | Attribute Code |
VoIPControlStatus1 | get | callState |
This command will set a subscription to a VoIP card’s current state. Please review the subscriptions section for more details. If any portion of the card’s call state changes, a subscription response will be provided indicating the current status of all call states.
The response of the subscription depends on the SESSION verbose State that was active at the time the subscription was setup. Examples will be given to show the response of a call state in both verbose and non-verbose formats.
Instance Tag | Command | Attribute Code | Index | Value |
VoIPControlStatus1 | subscribe | callState | [CustomLabel] | [Time(ms)] |
This command will cancel a previously set subscription.
Instance Tag | Command | Attribute Code | Index |
VoIPControlStatus1 | unsubscribe | callState | [CustomLabel] |
A Call State response will provide information for the entire SVC-2 card. The response will include both VoIP lines with 6 call appearances per line.
Example - Note Line feeds are shown to aid readability |
! "publishToken":" Room1" "value":{"callStateInfo":[ {"state":VOIP_CALL_STATE_RINGBACK "lineId":0 "callId":0 "action":UI_DISPLAY_STATUS "cid":"\"07131038\"\"146\"\"\"" "prompt":VOIP_PROMPT_CONNECTING} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":1 "action": UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":2 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":3 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":4 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":5 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":0 "action":UI_DISPLAY_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":1 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":2 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":3 "action":UI_CLEAR_STATUS"cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":4 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":5 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED}]} |
Each call appearance provides the following information fields in the Call State response.
Below is a list of the possible state responses from a VoIP instance:
Verbose | Non-Verbose | Description |
VOIP_CALL_STATE_INIT | 1 | The call appearance is initializing indicating general setup is in place; DHCP in progress, registration is taking place, etc. This can also indicate that the line has not been configured. The SVC-2 card will not be able to dial when this state is displayed. |
VOIP_CALL_STATE_FAULT | 2 | General Fault condition; Network link is down, IP address conflict in place. The SVC-2 card will not be able to dial when this state is displayed. |
VOIP_CALL_STATE_IDLE | 3 | Call Appearance is part of a registered connection to a Proxy Server and is ready to make or receive a call. |
VOIP_CALL_STATE_DIALTONE | 4 | Call appearance is off hook and dial tone is present. |
VOIP_CALL_STATE_SILENT | 5 | User has started dialing numbers but has yet to hit send |
VOIP_CALL_STATE_DIALING | 6 | User has hit send on the call appearance and the card has sent an INVITE to the proxy or the called party. No response has been received at this point. |
VOIP_CALL_STATE_RINGBACK | 7 | The far end is ringing |
VOIP_CALL_STATE_RINGING | 8 | The call appearance has an incoming call |
VOIP_CALL_STATE_ANSWER_CALL | 9 | The call has been answered but the call isn't active yet |
VOIP_CALL_STATE_BUSY | 10 | The far end is busy |
VOIP_CALL_STATE_REJECT | 11 | User has rejected the incoming call |
VOIP_CALL_STATE_INVALID_NUMBER | 12 | The user has dialed an invalid number on this call appearance |
VOIP_CALL_STATE_ACTIVE | 13 | A call has been connected to the call appearance |
VOIP_CALL_STATE_ACTIVE_MUTED | 14 | A call is established but audio is muted in the VoIP Receive block |
VOIP_CALL_STATE_ON_HOLD | 15 | The near end has placed the call appearance on hold |
VOIP_CALL_STATE_WAITING_RING | 16 | The call appearance has received a call waiting indication |
VOIP_CALL_STATE_CONF_ACTIVE | 17 | The call appearance has been placed in a local conference |
VOIP_CALL_STATE_CONF_HOLD | 18 | The call appearance is part of a local conference that has been placed on hold |
VOIP_CALL_STATE_XFER_INIT | 19 | The call appearance is initializing |
VOIP_CALL_STATE_XFER_SILENT | 20 | The call appearance is silent |
VOIP_CALL_STATE_XFER_REQ_DIALING | 21 | The call appearance is awaiting number to be dialed |
VOIP_CALL_STATE_XFER_PROCESS | 22 | The call appearance is in a process of transferring |
VOIP_CALL_STATE_XFER_REPLACES_PROCESS | 23 | The call appearance is updating the transfer process |
VOIP_CALL_STATE_XFER_ACTIVE | 24 | The call appearance transfer is active |
VOIP_CALL_STATE_XFER_RINGBACK | 25 | The call appearance is seeing DTMF tones from the proxy server |
VOIP_CALL_STATE_XFER_ON_HOLD | 26 | The call appearance is on hold |
VOIP_CALL_STATE_XFER_DECISION | 27 | The call appearance is awaiting confirmation to transfer |
VOIP_CALL_STATE_XFER_INIT_ERROR | 28 | The call appearance has experienced an error initializing the transfer process |
VOIP_CALL_STATE_XFER_WAIT | 29 | The call appearance is waiting |
Verbose | Non-Verbose | Description |
UI_CLEAR_STATUS | 1 | This call appearance is not the current point of focus in the user interface. |
UI_DISPLAY_STATUS | 2 | This call appearance is the current point of focus in the user interface. |
If caller ID information is available it will be included in the Call State response
Format |
"\"MMDDHHmm\"\"incoming_number\"\"caller_Name\"" |
Example of a caller ID response with all information provided |
"\"07131134\"\"15036260281\"\"Biamp Systems\"" |
Example of a caller ID response without all information provided |
"\"07131134\"\"15036260281\"\"\"" |
The verbose indicator for Caller ID is: “cid”
The Tesira user interface provides prompting indications of the state of the call appearance that is currently in focus. This prompting information is also included in the Call State response. A control system can use the prompt indications to provide users information about the individual call appearance states. Note that a prompt is provided for each call appearance in the Call State response.
The verbose indicator for Prompt is: "prompt"
Below is a list of the possible prompt responses from a SVC-2 card:
Verbose | Non-Verbose | Description |
VOIP_PROMPT_NONE | 1 | Nothing to display in prompt field |
VOIP_PROMPT_STARTING | 2 | SVC-2 card is booting. The SVC-2 card will not be able to dial when this prompt is displayed. |
VOIP_PROMPT_REGISTERING | 3 | SVC-2 is registering to a Proxy Server. The SVC-2 card will not be able to dial when this prompt is displayed. |
VOIP_PROMPT_SIP_USER_NOT_CONFIGURED | 6 | SIP User field has not been configured on the line properties page. The SVC-2 card will not be able to dial when this prompt is displayed. |
VOIP_PROMPT_ENTER_NUMBER | 7 | SVC-2 card is off hook and waiting for a number entry |
VOIP_PROMPT_CONNECTING | 8 | Connecting to the number dialed |
VOIP_PROMPT_INCOMING_CALL_FROM | 9 | Incoming call from a far end |
VOIP_PROMPT_PEER_BUSY | 10 | The far end device is busy |
VOIP_PROMPT_CALL_CANNOT_BE_COMPLETED | 11 | The number called from the SVC-2 card cannot be completed |
VOIP_PROMPT_ON_HOLD | 12 | The SVC-2 card has placed the call on hold |
VOIP_PROMPT_CALL_ON_HELD | 13 | The far end device has placed the call on hold |
VOIP_PROMPT_CONFERENCE | 14 | The SVC-2 card has placed this call appearances into a conference |
VOIP_PROMPT_CONFERENCE_ON_HOLD | 15 | The SVC-2 card has placed a conference on hold |
VOIP_PROMPT_CONNECTED | 16 | The call appearance is connected to a far end device |
VOIP_PROMPT_CONNECTED_MUTED | 17 | The call appearance is connected to a far end device but the VoIP Receive block has been muted |
VOIP_PROMPT_AUTH_FAILURE | 18 | Authentication to Proxy Server has failed |
VOIP_PROMPT_PROXY_NOT_CONFIGURED | 19 | A Proxy Address has not been entered in the SVC line properties page |
VOIP_PROMPT_NETWORK_INIT | 20 | The SVC-2 card is setting up network communications. The SVC-2 card will not be able to dial when this prompt is displayed. |
VOIP_PROMPT_DHCP_IN_PROGRESS | 21 | The SVC-2 card is requesting an IP address via DHCP. The SVC-2 card will not be able to dial when this prompt is displayed. |
VOIP_PROMPT_NETWORK_LINK_DOWN | 22 | The SVC-2 network link sees no connection. The SVC-2 card will not be able to dial when this prompt is displayed. |
VOIP_PROMPT_NETWORK_LINK_UP | 23 | The SVC-2 network port sees a connection point but cannot make use of it due to its current IP settings. The SVC-2 card will not be able to dial when this prompt is displayed. |
VOIP_PROMPT_IPADDR_CONFLICT | 24 | An IP Address is conflict has been detected. The SVC-2 card will not be able to dial when this prompt is displayed. |
VOIP_PROMPT_NETWORK_CONFIGURED | 25 | The SVC network interface has been configured. The SVC-2 card will not be able to dial when this prompt is displayed. |
VOIP_PROMPT_CODEC_NEGOTIATION_FAILURE | 26 | Codec negotiation between the endpoints has failed |
VOIP_PROMPT_UNEXPECTED_ERROR | 27 | The SVC card has encountered an unexpected error |
VOIP_PROMPT_AUTH_USER_NOT_CONFIGURED | 28 | Authentication Username has not been configured in the SVC line properties page |
VOIP_PROMPT_AUTH_PASSWORD_NOT_CONFIGURED | 29 | Authentication Password has not been configured in the SVC line properties page |
VOIP_PROMPT_DND | 30 |
Do Not Disturb |
VOIP_PROMPT_INVALID_NUMBER | 31 | Invalid Dialed Number (Number not routable by proxy server) |
VOIP_PROMPT_TEMP_UNAVAILABLE | 32 | Temporary Not Available (The callee is temporarily unavailable such as DND is on) |
VOIP_PROMPT_DECLINED | 33 | Call is Declined (the call is declined by the far end or the server) |
VOIP_PROMPT_SERVICE_UNAVAILABLE | 34 | Service Unavailable (such as a PSTN call but PSTN gateway isn’t configured or no rule to get there) |
VOIP_PROMPT_FORBIDDEN | 35 | Call Forbidden (The call is prohibited because of policy) |
VOIP_PROMPT_BEING_XFER_TO | 36 | Call is Being Transfer to |
VOIP_PROMPT_XFER_IN_PROCESS | 37 | Transfer in Process |
VOIP_PROMPT_XFER_TIME_OUT | 38 |
Transfer Timeout (Transfer not finished in a designated time) |
VOIP_PROMPT_PROXY_UNAVAILABLE | 39 | Proxy Unavailable (such as the configurable proxy is down) |
Call State response information order:
The Call State response will present the information listed above for each line and call appearance of the VoIP instance. If a subscription to a Call State response is setup, the subscription will update if a change is detected in any of the information fields. Call State is available in both verbose and non-verbose responses. Below is an example of the order of information in a Call State response. Note that the “{….}” field indicates the additional lines and call appearances on the VoIP instance.
HEADER_TOKEN:[{STATE: LINE_ID: CALL_ID: ACTION: CALLER_ID: PROMPT} {….} {….}]
All subscription responses will start with the “!” character for easy recognition. The response will also include token information in the form of the custom label associated with the subscription. Custom labels are defined in the Index command when the subscription is setup. Below is an example or the subscription header of a Call State response in both verbose and non-verbose formats. In each case the custom label was defines as “Room_1” and the “{…}” symbol indicates the additional responses from the specific call appearances.
NOTE: The following details and examples are specific to the SVC-2 VoIP implementation. VoIP X implementation will be limited according to its line and call appearance capability.
Verbose Format |
! "publishToken":" Room_1" "value":{"callStateInfo":[{….} {….}]} |
Non-Verbose Format |
! "Room_1" [[….] [….]] |
Below is an example of a response from a single call appearance in both verbose and non-verbose formats. This information is intended to show a clear example of the response order of a single appearance.
The call in each example shows the call state after a call was placed on line 0, call appearance 3, with the far end currently ringing. Caller ID information is also included.
Verbose Format |
{"state":VOIP_CALL_STATE_RINGBACK "lineId":0 "callId":3 "action":UI_DISPLAY_STATUS "cid":"\"07131124\”\”146\”\”John Smith\”” "prompt":VOIP_PROMPT_CONNECTING} |
Non-Verbose Format |
[7 0 3 2 "\"07131124\”\”146\”\”John Smith\”” 8] |
An actual Call State response will include two separate lines, each with 6 call appearances. An example of a full response is provided below in both verbose and non-verbose formats. The following responses show a ring-back on line 0, call appearance 0. All other call appearances on line 0 are idle. Line 1 has not been configured.
Verbose Format |
! "publishToken":" Room 1" "value":{"callStateInfo":[{"state":VOIP_CALL_STATE_RINGBACK "lineId":0 "callId":0 "action":UI_DISPLAY_STATUS "cid":"\"07131038\"\"146\"\"\"" "prompt":VOIP_PROMPT_CONNECTING} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":1 "action": UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":2 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":3 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":4 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_IDLE "lineId":0 "callId":5 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_NONE} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":0 "action":UI_DISPLAY_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":1 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":2 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":3 "action":UI_CLEAR_STATUS"cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":4 "action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED} {"state":VOIP_CALL_STATE_INIT "lineId":1 "callId":5"action":UI_CLEAR_STATUS "cid":"" "prompt":VOIP_PROMPT_SIP_USER_NOT_CONFIGURED}]} |
Non-Verbose Format |
! "Room_1" [[[7 0 0 2 "\"07131038\"\"146\"\"\"" 8] [3 0 1 1 “” 1] [3 0 2 1 “” 1] [3 0 3 1 "" 1] [3 0 4 1 "" 1] [3 0 5 1 "" 1] [1 1 0 2 "" 6] [1 1 1 1 “” 6] [1 1 2 1 “” 6] [1 1 3 1 "" 6] [1 1 4 1 "" 6] [1 1 5 1 "" 6]]] |