DTMF(按键信息事件)
通话过程中,当用户根据提示输入相关的按键(如通过 IVR 输入按键),PBX 向应用服务器推送 DTMF 报告。
报告参数
参数 | 类型 | 描述 |
---|---|---|
event | String | 事件类型。 |
callid | String | 每个通话的唯一 ID。 |
members | Array <MemberType> | 通话中的不同类型成员的信息列表。 |
info | String | 单个 DTMF 按键。 |
flag | Integer | 标识 DTMF 按键的顺序。 注: flag 从 0 开始标识。0 表示第一个 DTMF 按键;1 表示第二个 DTMF
按键;以此类推。
|
infos | String | DTMF 按键串。 |
sn | String | PBX 的 SN 码。 |
- MemberType
-
参数 类型 描述 ext Object <ExtensionInfo> 分机的信息。 inbound Object <InboundInfo> 外线来电的信息。
- ExtensionInfo
-
参数 类型 描述 number String 分机号码。 channelid String 通话中,每个成员的通话通道 ID。 memberstatus String 该成员的通话状态。 - ALERT:该成员作为主叫,发起呼叫后,处于回铃状态。
- RING:该成员作为被叫,处于响铃状态。
- ANSWERED:该成员作为主叫,发起呼叫后,电话被接听。
- ANSWER:该成员作为被叫,接听来电。
- HOLD:该成员的通话被保持住。
- BYE:该成员主动挂断通话。
callpath Integer 通话建立使用的路径。 例如,分机呼叫 IVR (6500),输入按键信息,callpath 即为 6500。
- InboundInfo
-
参数 类型 描述 from Integer 主叫号码。 to Integer 被叫号码。 trunkname String 通过哪条中继呼入。 channelid String 通话中,每个成员的通话通道 ID。 memberstatus String 该成员的通话状态。 - ALERT:该成员作为主叫,发起呼叫后,处于回铃状态。
- RING:该成员作为被叫,处于响铃状态。
- ANSWERED:该成员作为主叫,发起呼叫后,电话被接听。
- ANSWER:该成员作为被叫,接听来电。
- HOLD:该成员的通话被保持住。
- BYE:该成员主动挂断通话。
callpath Integer 通话建立使用的路径。 例如,外线用户呼叫 IVR (6500),输入按键信息,callpath 即为 6500。
报告示例
分机 1023 拨打 IVR 号码,输入按键 2。
POST / HTTP/1.1 Host: 192.168.5.150: 8260 User-Agent: WebAPI Content-Type: application/json Accept: application/json { "event": "DTMF", "callid": "1571905397.97", "members": [ { "ext": { "number": "1023", "channelid": "PJSIP/1023-00000039", "memberstatus": "ANSWERED", "callpath": "6500" } } ], "info": "2", "flag": "0", "sn": "369451090405" }
外部号码 192929500 呼入 IVR 6500,拨打分机 1020。
POST / HTTP/1.1 Host: 192.168.5.150: 8260 User-Agent: WebAPI Content-Type: application/json Accept: application/json { "event": "DTMF", "callid": "1573197470.151", "members": [ { "inbound": { "from": "192929500", "to": "6500", "trunkname": "To6.36", "channelid": "PJSIP/trunk-To6.36-endpoint-0000003d", "memberstatus": "ANSWERED", "callpath": "6500" } } ], "info": "1", "flag": "0", "sn": "369451090405" } POST / HTTP/1.1 Host: 192.168.5.150: 8260 User-Agent: WebAPI Content-Type: application/json Accept: application/json { "event": "DTMF", "callid": "1573197470.151", "members": [ { "inbound": { "from": "192929500", "to": "6500", "trunkname": "To6.36", "channelid": "PJSIP/trunk-To6.36-endpoint-0000003d", "memberstatus": "ANSWERED", "callpath": "6500" } } ], "info": "0", "flag": "1", "sn": "369451090405" } POST / HTTP/1.1 Host: 192.168.5.150: 8260 User-Agent: WebAPI Content-Type: application/json Accept: application/json { "event": "DTMF", "callid": "1573197470.151", "members": [ { "inbound": { "from": "192929500", "to": "6500", "trunkname": "To6.36", "channelid": "PJSIP/trunk-To6.36-endpoint-0000003d", "memberstatus": "ANSWERED", "callpath": "6500" } } ], "info": "2", "flag": "2", "sn": "369451090405" } POST / HTTP/1.1 Host: 192.168.5.150: 8260 User-Agent: WebAPI Content-Type: application/json Accept: application/json { "event": "DTMF", "callid": "1573197470.151", "members": [ { "inbound": { "from": "192929500", "to": "6500", "trunkname": "To6.36", "channelid": "PJSIP/trunk-To6.36-endpoint-0000003d", "memberstatus": "ANSWERED", "callpath": "6500" } } ], "info": "0", "flag": "3", "sn": "369451090405" } POST / HTTP/1.1 Host: 192.168.5.150: 8260 User-Agent: WebAPI Content-Type: application/json Accept: application/json { "event": "DTMF", "callid": "1573197470.151", "members": [ { "inbound": { "from": "192929500", "to": "6500", "trunkname": "To6.36", "channelid": "PJSIP/trunk-To6.36-endpoint-0000003d", "memberstatus": "ANSWERED", "callpath": "6500" } } ], "infos": "1020", "sn": "369451090405" }
分机 1023 拨打外部号码,进入对方的 IVR,输入按键 1。
POST / HTTP/1.1 Host: 192.168.5.150: 8260 Accept: application/json User-Agent: WebAPI Content-Type: application/json Accept: application/json { "event": "DTMF", "callid": "1573092021.6", "members": [ { "ext": { "number": "1023", "channelid": "PJSIP/1023-00000002", "memberstatus": "ANSWERED" } } ], "info": "1", "flag": "0", "sn": "369451090405" }