本章节描述 miniSIPServer 发出的所有事件消息的细节。所有这些消息都是采用 JSON 编码格式的文本字符串。
下面是一个事件消息的示例,该消息用于报告分机“600”的注册状态。
{"command": "userStatus", "userName": "600", "status": "online"}
每个事件消息都必须包含 'command' 参数,该参数是事件标识。目前该参数可以是以下值:
'userStatus' 事件消息包含以下参数。
参数项 | 类型 | 描述 |
---|---|---|
userName | 字符串 | 分机名称或者号码 |
status | 字符串 | 分机的当前状态,可以是以下值:
|
miniSIPServer 通过本事件消息报告内部每一个 SIP 呼叫的具体状态。 由于不同的呼叫中有不同的呼叫参与方, 因此该事件消息有可能携带不同的参数。 这意味着下面这些参数实际上都是可选参数,会随着呼叫状态而有不同的变化。
参数项 | 类型 | 描述 |
---|---|---|
sipID | 字符串 | miniSIPServer 内部资源唯一标识, 每个呼叫都有不同的标识。 |
callID | 字符串 | 从 SIP 消息中获取的 'Call-ID' 头域。在 SIP 对话中是唯一标识。请注意,一个 SIP 对话中,可能包含不同的‘sipID’,是一对多的关系,但是只可能有一个'callID'对应。 |
stage | 字符串 | 当前呼叫所处的呼叫阶段,可以是以下值:
|
type | 整数 | 呼叫的类型
|
address | 字符串 | 用户的IP地址 |
from | 字符串 | 主叫号码 |
to | 字符串 | 被叫号码,或者目的号码 |
setupTime | 字符串 | 呼叫发起时的时间戳 |
alertTime | 字符串 | 被叫振铃时的时间戳 |
progressTime | 字符串 | 收到被叫呼叫进展消息(例如,SIP 183消息等)时的时间戳 |
talkTime | 字符串 | 被叫应答时的时间戳 |
idleTime | 字符串 | 呼叫释放时的时间戳 |
下面是几个简单的示例:
(1) 发起呼叫时的事件消息
{"command": "sipStatus", "sipID": 823853058, "callID": "24F94C6671233752773D3106MSS311B0002", "stage": "dial", "type": 2, "address": "10.0.0.101:62988", "from": "600", "to": "601", "setupTime": "2018-09-03 16:45:09"}
(2) 呼叫释放时的事件消息
{"command": "sipStatus", "sipID": 823853058, "callID": "24F94C6671233752773D3106MSS311B0002", "stage": "idle", "idleTime": "2018-09-03 16:45:17"}
如果 miniSIPServer 从 SIP 中继收到呼叫,但是来源的端口与配置的端口不一致, miniSIPServer 将拒绝该呼叫并报告告警信息。
'sipTrunkWarning' 事件包含以下参数:
参数项 | 类型 | 描述 |
---|---|---|
ipAddr | 字符串 | 呼叫来源的 IP 地址。 |
port | 整数 | 呼叫来源的实际端口。 |
以下是简单示例:
{"command": "sipTrunkWarning", "ipAddr": "1.2.3.4", "port": 6666}