信创录音盒事件分为三大类,事件信息使用json格式
当设备有状态发生时触发
事件标记:"class":"account"
{
/*表示当前事件的设备唯一序列号*/
"account": "5990012",
/*表示以下是设备信息发生改变的消息类别,固定account*/
"class": "account",
/*设备信息改变的详细信息*/
"data": {
/*设备信息,只在设备插入触发online时有设备信息*/
"acc_info": {
"acc_data": {
/*设备序列号,等同前面的account*/
"account": "5990014",
"auth": false,
"date": "2025-03-17",
"dev_attr": {
"name": "agi-ub-box",
"nick": "agi-ub"
},
"func": 0,
/*设备唯一id号*/
"guid": "827237934d92c3d14e92eee902fec03e",
/*内部使用,保留*/
"module": 0,
/*内部使用,保留*/
"oemid": 0,
/*设备序列号,等同前面的account*/
"serial": "5990014",
/*设备型号内部名称*/
"type": "UB-C2P-NULL"
},
/*内部使用,保留*/
"acc_status": {
"free": "0",
"ready": "0"
},
/*
当前设备控制状态,设备在线后自动发送一次,每个状态名称对应api控制设备时的操作名称,查看api文档,或者本文档最后的控制名称定义
*/
"do_ctrl": {
"api_hook": 0,
"dis_phone": 0,
"hp_spk": 0,
"led": 1,
"line_to_hp_spk": 0,
"line_to_sndcard_spk": 0,
"loud_spk": 0,
"mic_in": 0,
"mic_to_line": 0,
"phone_hook": 0,
"play_to_hp_spk": 0,
"play_to_line": 0,
"ring_power": 0,
"sndcard_mic_to_ub": 0
}
},
/*
表示设备状态改变的, evt_name表示具体事件名称
"status": 设备的某些状态改变
"phone":电话机摘挂机操作改变
"do_ctrl":设备控制io状态改变
"api":软摘机挂机状态改变
"dial_step":拨出去的状态发生改变
*/
"evt_name": "status",
/*
状态对应的信息名
当evt_name是"status"时
"online":设备在线
"updated":设备信息改变了,一般是在线升级设备后改变
"offline":设备掉线
"free":设备空闲了,没有来电没有软摘机,没有电话摘机,空闲时不能立即软拨号,可能打不出去的,等待ready
"ready":设备准备就绪,在free 等待2秒后触发,表示可以软件拨号出去了
"busy":设备工作状态,有来电或者有软摘机或者电话摘机了
"ring_on":来电响铃,叮叮叮正在响起来
"ring_off":来电响铃静音状态
"busy_tone":检测忙音信号,嘟...嘟...嘟, "count"表示次数
"mic_in":话务盒麦克风插入了
"mic_out":话务盒麦克风拔出了
当evt_name是"phone"时
"offhook":电话机摘机
"hangup":电话机挂机
"flash":电话机触发排插簧事件
当evt_name是"do_ctrl"时
读取 "ctrl_name" 字段名,字段名等同用api控制设备时的名称,查看文档最后
Value:表示当前控制的值,一般时0或者1
当evt_name是"dial_step"时
读取
"operator":"phone" 表示电话机操作拨号
"operator":"api":表示软件操作拨号
*/
"value": "online",
/*当前允许的最大插入设备*/
"max_ub_dev": 1,
/*
当evt_name是"dial_step"时
"dial_dtmf" 表示二次发码,其它表示正常拨号呼出
*/
"mode": "",
/*
当evt_name是"dial_step"时
"step_name":"begin" 表示拨号准备开始了
"step_name":"waittone" 摘机等待拨号音
"step_name":"dialtone" 表示检测拨号音,准备发送号码
"step_name":"timeout" 表示检测拨号音,准备强制发送号码
"step_name":"dialing" 表示正在发送号码
"step_name":"stop" 表示拨号被api终止了
"step_name":"end" 表示拨号结束了
*/
"step_name": null,
/*当前插入的设备数量*/
"ub_dev_num": 1
},
/*当前json使用的编码*/
"encoding": "utf-8",
/*信创助手内部标记,保留忽略*/
"oid": {
"aid": "8",
"cid": "1",
"eid": "8",
"uid": "8"
},
/*事件发起模块,保留固定*/
"source": "agi_ub_dev",
/*事件触发的事件戳信息*/
"time": {
"datetime": "2025-03-17 08:30:07.255",
"tick": "2490327817",
"utc": "1742171407255"
},
/*事件格式版本,忽略*/
"ver": "2.1.0"
}
来去电呼入呼出步骤
事件标记:"class":"dialog"
事件字段介绍:
{
/*表示当前事件的设备唯一序列号*/
"account": "5990012",
/*表示以下是呼叫步骤产生的消息类别,固定dialog*/
"class": "dialog",
/*呼叫步骤记录详细信息*/
"data": {
/*呼叫信息*/
"dialog": {
/*和上一层account类似,表示当前产生通话记录的设备唯一序列号*/
"account": "5990012",
"area": {
/*号码归宿地城市区号*/
"area_id": "010",
/*号码归宿地城市名*/
"city": "北京",
/*来电的主叫号码,去电被叫号码*/
"code": "13810450502",
/*号码归宿地省份名*/
"province": "北京"
},
/*呼叫时使用"set_call_param"设置的自定义参数,适用对设备二次开发,没设置就为空*/
"call_param": null,
/*来去电号码详细信息*/
"callid": {
/*来去电的主被叫号码*/
"code": "13810450502",
/*实际呼出到电话线的号码,比如:有加上前缀0,出局号码9,或者17951代拨等*/
"dst_to": "013810450502",
/*去电拨号方式,保留,目前都是dtmf*/
"type": "dtmf"
},
/*本次来去电通话的唯一id号,所有设备产生的都唯一不会重复*/
"dialog_id": "1649095854923439684",
/*来去呼叫方式,out去电,in表示来电*/
"dialog_type": "in",
"finished_reason": "",
/*录音盒设备功能id,内部使用,对接开发可以忽略*/
"func_id": 794,
/*来去电操作时的设备,正常都是phone,内部使用,可以忽略*/
"operator": "phone",
/*录音文件信息*/
"recfile": {
"duration": 0
},
/*呼叫记录的时间戳信息*/
"timestamp": {
/*来去电接通时间信息,去电时不准,建议忽略,来电接听可使用*/
"connected": {
/*接通时间戳,下面所有该字段名都一个意思*/
"datetime": "2025-03-05 09:08:10.621",
/*接通通话时长,单位是毫秒,下面所有该字段名都一个意思*/
"duration": "6047",
/*接通时的utc时间戳,下面所有该字段名都一个意思*/
"utc": "1741136890621",
/*接通时时间为周几,范围1-7,3表示周三,下面所有该字段名都一个意思*/
"week": "3"
},
/*连接时间信息,可以忽略,用在sip ippbx和软电话开发接口, 对模拟线路usb录音盒无效*/
"connecting": {
"datetime": "",
"duration": "",
"utc": "0",
"week": ""
},
/*来去电开始时间 【来电时第一次响铃,去电时电话摘机或者软件拨号时间*/
"create": {
/*同上*/
"datetime": "2025-03-05 09:08:07.686",
/*同上,单位是毫秒,无实际意义,可忽略*/
"duration": "2935",
/*同上*/
"utc": "1741136887686",
/*同上,表示周三*/
"week": "3"
},
/*保留,用在sip ippbx和软电话开发接口,对模拟线路usb录音盒无效*/
"dohangup": {
/*同上*/
"datetime": "",
/*同上*/
"duration": "",
/*同上*/
"utc": "0",
/*同上*/
"week": ""
},
/*来去电结束时间,一般是本地电话机挂机时间,耳麦通话时本地软挂机时间*/
"finished": {
/*同上*/
"datetime": "2025-03-05 09:08:16.668",
//同上,单位是毫秒,表示整个来去电时长
"duration": "8982",
/*同上*/
"utc": "1741136896668",
/*同上*/
"week": "3"
},
/*来电响铃时间,忽略不用考虑*/
"ringing": {
/*同上*/
"datetime": "2025-03-05 09:08:10.621",
//同上,单位是毫秒,表示整个响铃时长,来电响铃开始到接听或者未接
"duration": "6047",
/*同上*/
"utc": "1741136890621",
/*同上*/
"week": "3"
}
}
},
/*
通话信息状态标记
Status:通话步骤, 具体step_name信息查看最后内容
recfile:录音文件状态,step_name名信息:
"start":表示录音开始
"stop":表示录音停止
"failed":表示录音失败
playfile:播放文件状态,step_name名信息:
"start":表示开始播放
"stop":表示停止播放
"finished":表示播放内容结束
"failed":表示播放失败
dtmf_char:收到一个DTMF按键,具体按键信息查看"dtmf" 字段
dtmf_cmd:收到一串DTMF结束了,具体按键信息查看"dtmf" 字段
dtmf_result:正在接收DTMF串信息,具体按键信息查看"dtmf" 字段
asr_stream:通话中一句话转成文字信息,具体文字信息查看示例代码
recfile_asr:通话结束后的录音文件转文字消息,具体文字信息查看示例代码
*/
"evt_name": "status",
/*通话步骤id数字,具体详细的数字代表的状态查看文档最后内容*/
"step_id": 201,
/*通话步骤字符串信息,具体详细的状态查看文档最后内容*/
"step_name": "in_create"
},
/*当前json使用的编码*/
"encoding": "utf-8",
/*信创助手内部标记,保留忽略*/
"oid": {
"aid": "8",
"cid": "1",
"eid": "8",
"uid": "8"
},
/*事件发起模块,保留固定*/
"source": "agi_ub_dev",
/*事件触发的事件戳信息*/
"time": {
/*utc时间对应的字符串时间*/
"datetime": "2025-03-17 08:30:07.255",
/*操作系统时钟*/
"tick": "2490327817",
/*utc时间*/
"utc": "1742171407255"
},
/*事件格式版本,忽略*/
"ver": "2.1.0"
}
通话结束后触发一次【来电未接,通话本地挂机后触发】
事件标记判断:"class":"calllog"
事件字段介绍:
{
/*表示当前事件的设备唯一序列号*/
"account": "5990012",
/*表示以下是呼叫记录产生的消息类别,固定calllog*/
"class": "calllog",
/*通话记录详细数据*/
"data": {
/*和上一层account类似,表示当前产生通话记录的设备唯一序列号*/
"account": "5990012",
/*呼叫记录号码的归属地信息,如果来去电时有效手机号或者带区号的号码,就会提示地区信息*/
"area": {
/*号码归宿地城市区号*/
"area_id": "010",
/*号码归宿地城市名*/
"city": "北京",
/*来电的主叫号码,去电被叫号码*/
"code": "13810450502",
/*号码归宿地省份名*/
"province": "北京"
},
/*呼叫时使用"set_call_param"设置的自定义参数,适用对设备二次开发,没设置就为空*/
"call_param": null,
/*来去电号码详细信息*/
"callid": {
/*来去电的主被叫号码*/
"code": "13810450502",
/*实际呼出到电话线的号码,比如:有加上前缀0,出局号码9,或者17951代拨等*/
"dst_to": "013810450502",
/*去电拨号方式,保留,目前都是dtmf*/
"type": "dtmf"
},
/*接通方式,保留无效*/
"connected_mode": "",
/*本次来去电通话的唯一id号,所有设备产生的都唯一不会重复*/
"dialog_id": "1649095850785361432",
/*来去呼叫方式,out去电,in表示来电*/
"dialog_type": "out",
/*保留无效*/
"evt_name": null,
/*通话结束模式,phone_hangup:本地电话挂机,api_hangup:软件挂机, busy:检测到忙音挂机*/
"finished_reason": "phone_hangup",
/*录音盒设备功能id,内部使用,对接开发可以忽略*/
"func_id": 794,
/*来去电操作时的设备,正常都是phone,内部使用,可以忽略*/
"operator": "phone",
/*录音文件的参数信息*/
"recfile": {
/*录音文件时长,单位毫秒*/
"duration": 7091,
/*录音文件本地保存的完整路径*/
"file": "F:/agicall/agi_ub/recfile/2025/03/05/090809_575_0001_805_out.mp3",
/*录音文件本地保存的文件子目录*/
"filename": "2025/03/05/090809_575_0001_805_out.mp3",
/*录音文件本地保存的根路径*/
"path": "F:/agicall/agi_ub/recfile/"
},
/*呼叫步骤名, 这里忽略,保留无效*/
"step_name": null,
/*呼叫记录的时间戳信息*/
"timestamp": {
/*来去电接通时间信息,去电时不准,建议忽略,来电接听可使用*/
"connected": {
/*接通时间戳,下面所有该字段名都一个意思*/
"datetime": "2025-03-05 09:08:10.621",
/*接通通话时长,单位是毫秒,下面所有该字段名都一个意思*/
"duration": "6047",
/*接通时的utc时间戳,下面所有该字段名都一个意思*/
"utc": "1741136890621",
/*接通时时间为周几,范围1-7,3表示周三,下面所有该字段名都一个意思*/
"week": "3"
},
/*连接时间信息,可以忽略,用在sip ippbx和软电话开发接口, 对模拟线路usb录音盒无效*/
"connecting": {
"datetime": "",
"duration": "",
"utc": "0",
"week": ""
},
/*来去电开始时间 【来电时第一次响铃,去电时电话摘机或者软件拨号时间*/
"create": {
/*同上*/
"datetime": "2025-03-05 09:08:07.686",
/*同上,单位是毫秒,无实际意义,可忽略*/
"duration": "2935",
/*同上*/
"utc": "1741136887686",
/*同上,表示周三*/
"week": "3"
},
/*保留,用在sip ippbx和软电话开发接口,对模拟线路usb录音盒无效*/
"dohangup": {
/*同上*/
"datetime": "",
/*同上*/
"duration": "",
"utc": "0",
"week": ""
},
/*来去电结束时间,一般是本地电话机挂机时间,耳麦通话时本地软挂机时间*/
"finished": {
/*同上*/
"datetime": "2025-03-05 09:08:16.668",
//同上,单位是毫秒,表示整个来去电时长
"duration": "8982",
/*同上*/
"utc": "1741136896668",
/*同上*/
"week": "3"
},
/*来电响铃时间,忽略不用考虑*/
"ringing": {
/*同上*/
"datetime": "2025-03-05 09:08:10.621",
//同上,单位是毫秒,表示整个响铃时长,来电响铃开始到接听或者未接
"duration": "6047",
/*同上*/
"utc": "1741136890621",
/*同上*/
"week": "3"
}
}
},
/*当前json使用的编码*/
"encoding": "utf-8",
/*信创助手内部标记,保留忽略*/
"oid": {
"aid": "8",
"cid": "1",
"eid": "8",
"uid": "8"
},
/*事件发起模块,保留固定*/
"source": "agi_ub_dev",
/*事件触发的事件戳信息*/
"time": {
"datetime": "2025-03-17 08:30:07.255",
"tick": "2490327817",
"utc": "1742171407255"
},
/*事件格式版本,忽略*/
"ver": "2.1.0"
}
| 宏定义名称 | ID值 | 说明 |
|---|---|---|
| UB_DIALOG_STEP_NULL | 0 | 空 |
| UB_DIALOGOUT_STEP_BASE | 100 | 保留 |
| UB_DIALOGOUT_STEP_CREATE | 101 | 创建新的呼叫 |
| UB_DIALOGOUT_STEP_TRYING | 102 | 对方已经接收到请求 |
| UB_DIALOGOUT_STEP_INVITE | 103 | 正在呼叫 |
| UB_DIALOGOUT_STEP_RINGING | 104 | 正在响铃 |
| UB_DIALOGOUT_STEP_CONNECTING | 105 | 正在连接 |
| UB_DIALOGOUT_STEP_FAILED | 106 | 呼叫失败 |
| UB_DIALOGOUT_STEP_CONNECTED | 108 | 接通 |
| UB_DIALOGOUT_STEP_DOCANCEL | 110 | 本地挂机取消呼叫 |
| UB_DIALOGOUT_STEP_DOBYE | 111 | 本地通话结束挂机 |
| UB_DIALOGOUT_STEP_DOREFUSE | 112 | 对方拒接 |
| UB_DIALOGOUT_STEP_REMOTEHANG | 120 | 对方挂机 |
| UB_DIALOGOUT_STEP_FINISHED | 129 | 错误或者结束 |
| UB_DIALOGOUT_STEP_DELETE | 130 | 释放呼叫通道内存 |
| UB_DIALOGIN_STEP_BASE | 200 | 保留 |
| UB_DIALOGIN_STEP_CREATE | 201 | 新的呼叫 |
| UB_DIALOGIN_STEP_TRYING | 202 | 已经接收到请求 |
| UB_DIALOGIN_STEP_INVITE | 203 | 正在呼叫 |
| UB_DIALOGIN_STEP_RINGING | 204 | 正在回铃 |
| UB_DIALOGIN_STEP_CONNECTING | 205 | 正在连接 |
| UB_DIALOGIN_STEP_FAILED | 206 | 呼叫失败 |
| UB_DIALOGIN_STEP_CONNECTED | 208 | 接通 |
| UB_DIALOGIN_STEP_DOCANCEL | 210 | 停止呼叫 |
| UB_DIALOGIN_STEP_DOBYE | 211 | 本地挂机 |
| UB_DIALOGIN_STEP_DOREFUSE | 212 | 本地拒接 |
| UB_DIALOGIN_STEP_REMOTEHANG | 220 | 对方挂机 |
| UB_DIALOGIN_STEP_FINISHED | 229 | 错误或者结束 |
| UB_DIALOGIN_STEP_DELETE | 230 | 释放呼叫通道内存 |
| 宏定义名称 | 字符值 | 说明 |
|---|---|---|
| DIALOG_STEP_NAME_IN_CREATE | in_create | 新的呼叫 |
| DIALOG_STEP_NAME_IN_TRYING | in_trying | 已经接收到请求 |
| DIALOG_STEP_NAME_IN_INVITE | in_invite | 正在呼叫 |
| DIALOG_STEP_NAME_IN_RINGING | in_ringing | 正在回铃 |
| DIALOG_STEP_NAME_IN_CONNECTING | in_connecting | 正在连接 |
| DIALOG_STEP_NAME_IN_FAILED | in_failed | 呼叫失败 |
| DIALOG_STEP_NAME_IN_CONNECTED | in_connected | 接通 |
| DIALOG_STEP_NAME_IN_DOCANCEL | in_docancel | 停止呼叫 |
| DIALOG_STEP_NAME_IN_DOBYE | in_dobye | 本地挂机 |
| DIALOG_STEP_NAME_IN_DOREFUSE | in_dorefuse | 本地拒接 |
| DIALOG_STEP_NAME_IN_REMOTEHANG | in_remotehang | 对方挂机 |
| DIALOG_STEP_NAME_IN_FINISHED | in_finished | 错误或者结束 |
| DIALOG_STEP_NAME_IN_DELETE | in_delete | 释放呼叫通道内存 |
| DIALOG_STEP_NAME_OUT_CREATE | out_create | 创建新的呼叫 |
| DIALOG_STEP_NAME_OUT_TRYING | out_trying | 对方已经接收到请求 |
| DIALOG_STEP_NAME_OUT_INVITE | out_invite | 正在呼叫 |
| DIALOG_STEP_NAME_OUT_RINGING | out_ringing | 正在响铃 |
| DIALOG_STEP_NAME_OUT_CONNECTING | out_connecting | 正在连接 |
| DIALOG_STEP_NAME_OUT_FAILED | out_failed | 呼叫失败 |
| DIALOG_STEP_NAME_OUT_CONNECTED | out_connected | 接通 |
| DIALOG_STEP_NAME_OUT_DOCANCEL | out_docancel | 本地挂机取消呼叫 |
| DIALOG_STEP_NAME_OUT_DOBYE | out_dobye | 本地通话结束挂机 |
| DIALOG_STEP_NAME_OUT_DOREFUSE | out_dorefuse | 对方拒接 |
| DIALOG_STEP_NAME_OUT_REMOTEHANG | out_remotehang | 对方挂机 |
| DIALOG_STEP_NAME_OUT_FINISHED | out_finished | 错误或者结束 |
| DIALOG_STEP_NAME_OUT_DELETE | out_delete | 释放呼叫通道内存 |
| 宏定义名称 | 控制名称 | 说明 |
|---|---|---|
| AGI_UB_JSON_VALUE_WATCHDOG | watchdog | 设备看门狗,可以在调试设备时关闭看门狗,避免程序断点时设备复位 |
| AGI_UB_JSON_VALUE_LED | led | 设备led指示灯 |
| AGI_UB_JSON_VALUE_API_HOOK | api_hook | 设备模拟摘机 |
| AGI_UB_JSON_VALUE_DIS_PHONE | dis_phone | phone口电话机断开line口,默认是连接到line口,只对XC_A1/XC_A2设备有效 |
| AGI_UB_JSON_VALUE_RING_POWER | ring_power | 让phone口话机振铃 |
| AGI_UB_JSON_VALUE_LOUD_SPK | loud_spk | 喇叭.0->关闭 1->line_to 2->play_to |
| AGI_UB_JSON_VALUE_HP_SPK | hp_spk | 耳机开关总使能,默认开启可以不操作 |
| AGI_UB_JSON_VALUE_PLAY_TO_HP_SPK | play_to_hp_spk | 播放声音到设备耳机 |
| AGI_UB_JSON_VALUE_PLAY_TO_LINE | play_to_line | 播放声音到电话线 |
| AGI_UB_JSON_VALUE_LINE_TO_HP_SPK | line_to_hp_spk | 电话线声音到设备耳机 |
| AGI_UB_JSON_VALUE_LINE_TO_PHONE_SPK | line_to_phone_spk | 电话线声音到phone口话机SPK,只对A1,A2有效 |
| AGI_UB_JSON_VALUE_PHONE_MIC_TO_LINE | phone_mic_to_line | phone口话机mic到电话线,只对A1,A2有效 |
| AGI_UB_JSON_VALUE_MIC_TO_LINE | mic_to_line | 设备上自带的mic,不需要打开 播放声音到line |
| AGI_UB_JSON_VALUE_SNDCARD_MIC_TO_UB | sndcard_mic_to_ub | 计算机声卡的mic声音到设备,需要打开播放声音到line的开关才能到达line线路 |
| AGI_UB_JSON_VALUE_LINE_TO_SNDCARD_SPK | line_to_sndcard_spk | 计算机声卡的mic |
| AGI_UB_JSON_VALUE_SNDCARD_MIC_AEC | sndcard_mic_aec | 启用mic的回音抵消算法,如果关闭就只有声卡自带回音抵消,如果是外放模式并且声卡没有回音抵消才启用 |
| AGI_UB_JSON_VALUE_SENTENCE_VAD | sentence_vad | 开始关闭vad检测 |