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"
}