1 概述:
对于只支持 4G 的 CAT1模块(Air720UG、Air724UG)而言,需要用本命令打开 VOLTE 功能才能进行语音通话。而 Air720UH 模块支持 4G 和 2G,而 2G 支持语音通话,所以不需要打开 VOLTE 就可以进行语音通话。但不支持电信2G。
2 相关AT指令介绍和示例
发起呼叫:ATD
执行命令,用于发出语音呼叫,呼叫号码长度不超过20位。
语法规则:
命令类型 语法 返回和说明
执行命令 ATD; 命令成功,则返回:
OK
如果成功建立连接,则返回:
CONNECT
如果没检测到拨号音 dial tone(并且当 ATX2 or ATX4 时): NO DIALTONE
If busy(并且当 ATX3 or ATX4): BUSY
通话被挂断或建立失败: NO CARRIER
如果被叫无应答: NO ANSWER
ATD 数据呼叫成功,则返回:
参数定义:
参数 定义 取值 对取值的说明
呼叫号码 由以下字符组成:0-9, * , #, +, A, B, C 注:拨 112 可以建立紧急呼叫,不需要 SIM 卡。
举例:
命令(→)/返回(←) 实例 解释和说明
→ AT+SETVOLTE=1 打开VOLTE功能
← OK 注:对于只支持4G的CAT1模块(Air720UG、 Air724UG)而言,需要用 AT+SETVOLTE=1 命令打开 VOLTE 功能才能进行语音通话。而 Air720UH 模块支持 4G 和 2G,所以不需要打开 VOLTE 就可以进行语音通 话
→ ATD13162398; 语音呼叫号码13162398(***是为了保护隐私,将实际数字隐去,实际操作时要如实输入号码)
← OK CONNECT 对方接听电话
→ AT+CHUP 模块主动挂断通话
← OK 返回OK
**6.3 **接听来电:ATA
有只有一个来电(RING)时,输入该命令接听来电。当有更多的来电时,请使用 AT+CHLD命令接听新的来电。
语法规则:
命令类型 语法 返回和说明
执行命令 ATA OK
举例:
命令(→)/返回(←) 实例 解释和说明
←(URC) RING 有RING上报,表示有来电。 注:RING 是一个URC命令(Unsolicited Result Code )
→ ATA 模块接听来电
← OK 返回OK,说明接听来电成功
挂断通话:ATH
通话过程中,输入执行命令会挂断所有电话,包括当前通话(active)、等待通话(waiting)和挂起通话(holding)。
语法规则:
命令类型 语法 返回和说明
执行命令 ATH OK
举例:
命令(→)/返回(←) 实例 解释和说明
←(URC) RING 有RING上报,表示有来电。
→ ATA 模块接听来电
← OK 建立通话
→ ATH 挂断通话
← OK OK
挂断通话:AT+CHUP
通话过程中,输入执行命令会挂断所有电话,包括当前通话(active)、等待通话(waiting)和挂起通话(holding)。
作用与 ATH 相同。
语法规则:
命令类型 语法 返回和说明
执行命令 AT+CHUP OK
列出所有当前的呼叫:AT+CLCC
语法规则:
命令类型 语法 返回
执行命令 AT+CLCC [+CLCC:,
测试命令 AT+CLCC=? OK
参数定义:
参数 定义 取值 对取值的说明
呼叫识别 id - 整数型;请参考3GPP TS22.030中第 4.5.5.1 节中描述,此参数可在+CHLD命令中被使用
命令(→)/返回(←) 实例 解释和说明
→ ATD10086; 语音呼叫号码10086
← OK
→ AT+CLCC 对方接听电话前查询下通话情况
← +CLCC: 1,0,2,0,0,“10086”,129,“” OK =2 表示拨号中,对方尚未接听
← CONNECT 对方接听
→ AT+CLCC 此时再查询下通话状态
← +CLCC: 1,0,0,0,0,“10086”,129,“” = 0 表示电话接通并保持激活
OK
→ AT+CHUP 挂电话
← OK
→ AT+CLCC 显示通话状态
← OK 只有一个OK,表示没有通话
呼叫保持和多方通话:AT+CHLD
使用该指令,可以控制 TA的附加业务:呼叫保持和多方通话。呼叫能被保持,恢复,释放和加入多方通话。
语法规则:
命令类型 语法 返回
设置命令 AT+CHLD= OK
测试命令 AT+CHLD=? +CHLD: (取值列表) OK
语法规则:
参数 定义 取值 对取值的说明
整数型 0 释放所有已保持的呼叫或者为等待中的呼叫设置用户决定用户忙(UDUB)条件
1 如果存在当前呼叫,释放所有当前呼叫并接听另外一个已保持或等待中的呼叫
1X 释放当前某一特定的呼叫X
2 如果存在当前呼叫,保持所有当前呼叫并接听另外一个已保持或等待中的呼叫
2X 保持除呼叫 X 外的所有当前呼叫
3 将一个被保持(held)的通话加入到活跃(active)通话中(建立多方通话)
举例:
命令(→)/ 返回(←) 实例 解释和说明
→ AT+CCWA=1,1
← OK
→ ATD13798; 呼叫13798
← OK
←(URC) CONNECT 对方接听,通话建立,双方通话中
←(URC) +CCWA: “13601*****97”,129,1 有又一个电话进来,此时会有如此URC上报
→ AT+CHLD=2 HOLD第一路(+CLCC中id=1),接通第二路 (+CLCC中id=2)
← OK
→ AT+CLCC 查询下当前所有当前通话
← +CLCC: 1,0,1,0,0,“137*98",129 +CLCC: 2,1,0,0,0,"1360197”,128,“TEST” OK 第一路第三个参数即=1,表示被保持第二路=0,表示正处激活状态
→ AT+CHLD=21 切回到第一路
← OK
→ AT+CHLD=3 建立三方通话(前提为:SIM卡已经开通此功能)
← OK
→ AT+CHLD=11 释放第一路
← OK
产生 DTMF 音:AT+VTS
DTMF(Double Tone Multiple Frequency,双音多频),用来在电话建立以后拨打分机号码或自动语音服务。
语法规则:
命令类型 语法 返回和说明
设置命令 AT+VTS=或 AT+VTS=[,] OK
测试命令 AT+VTS=? +VTS:(取值列表),(取值列表) OK
参数定义:
参数 定义 取值 对取值的说明
单个DTMF 单个 ASCII 字符,不需要双引号””。范围如下 0-9, #,*, A-D。DTMF 持续时间定义如下: 如果AT+VTS=,则持续时间通过命令+VTD 来设置;如果AT+VTS=,,则持续时间通过定义
持续时间 1~10 tone 的持续时间,以1/10 秒为单位
举例:
命令(→)/ 返回(←) 实例 解释和说明
→ AT+VTS=?
← +VTS: (0-9,*,#,A,B,C,D),(1-10) OK
以下的例子是拨打总机接通后,再用DTMF拨打分机109:
→ ATD10086; 拨打10086
← OK CONNECT 接通
→ AT+VTS=2 选择自动语音服务中的2服务
← OK
DTMF TONE 周期:AT+VTD
语法规则:
命令类型 语法 返回
设置命令 AT+VTD= OK
查询命令 AT+VTD? +VTD: OK
测试命令 AT+VTD=? + VTD: (取值列表) OK
参数定义:
参数 定义 取值 对取值的说明
Tone的长度 1~10 以1/10 秒为单位的tone 持续时间
音频 MIC 增益设置指令:AT+CACCP
本命令设置音频 MIC 增益 注意:语音业务的音频参数必须在通话过程中设置
语法规则:
命令类型 语法 返回
设置命令 AT+CACCP=,
参数定义:
参数 定义 取值 对取值的说明
设备应用模式 0 Voice Call NB
2 Music Record
5 Voice Call WB
1 HandFree
2 Headset4P
3 Headset3P
增益类型 0 Ingain
6 Recordgain
增益值 由算法增益和模拟增益构成: 算法增益等级0-7,模拟增益0-15, 小端编码。 例如:设置算法增益为7,模拟增益为14,则gainHex为“07000E00”
举例:
命令(→)/ 返回(←) 实例 解释和说明
→ AT+SETVOLTE=1 打开VOLTE功能
← OK
→ ATD13162398; 语音呼叫号码13162398(***是为了保护隐私,将实 际数字隐去,实际操作时要如实输入号码
← OK CONNECT 对方接听电话
→ AT+CACCP=5,1,0,“07000f00” 设置通话模式MIC增益,算法增益等级为7,模拟增益为15
← +CACCP: OK 返回OK,设置成功
→ AT+CHUP 模块主动挂断通话
← OK 返回OK
3 相关资料以及购买链接
《AT指令手册》
相关开发板购买链接
Air724UG开发板
Air724 开发板使用说明
4 常见问题
AT+CACCP 语音业务的音频参数必须在通话过程中设置
紧急号码拨号问题:
常用紧急号码:报警求助 110 ,火警119 ,医疗救护 120 ,交通事故 122
拨号流程: 移动卡注册时拨打110号码时是走的正常号码呼叫,VOLTE正常能正常接通;电信卡注册时网络是提供了一个紧急号码列表给终端,110在其列表里面,所以拨打110时终端走的是紧急呼叫,网络又实际不支持,所以会CSFB TO 2G尝试,所以打不通。而加上区号走的是正常号码呼叫流程,在LTE下可以呼叫成功。
具体实测数据如下:
724开发板测试4G情况,720UH开发板测试2G情况,110,119,120,122情况应该一样,这里没有全部拨打,下面列举的是实际测试过的情况。
卡 网络 紧急号码是否加区号 是否可以成功呼叫紧急号码 成功或失败的原因
不插卡 2G 加区号 112打不通,110,119,120,122打不通 只能拨打紧急号码
不插卡 2G 不加区号 112打通语音提示,110,119,120,122打通语音提示 属于紧急号码可以打通
不插卡 4G 加区号 112打不通,110,119,120,122打不通 4G网络不支持紧急拨号
不插卡 4G 不加区号 112打不通,110,119,120,122打不通 4G网络不支持紧急拨号
移动卡 2G 加区号 112提示号码不存在,110可以正常打通 112加区号当不存在号码处理,110当普通号码处理
移动卡 2G 不加区号 112打通语音提示,110可以正常打通 属于紧急号码可以打通
移动卡 4G 加区号 112打不通,110可以正常打通 112加区号当不存在号码处理,110当普通号码处理
移动卡 4G 不加区号 112打不通,110,119,120可以正常打通 112当不存在号码处理,110,119,120当普通号码处理
联通卡 2G 加区号 112提示号码不存在,110可以正常打通 112加区号当不存在号码处理,110当普通号码处理
联通卡 2G 不加区号 112打通语音提示,110可以正常打通 属于紧急号码可以打通
联通卡 4G 加区号 112打不通,110可以正常打通 112加区号当不存在号码处理,110当普通号码处理
联通卡 4G 不加区号 112打不通,110可以正常打通 112当不存在号码处理,110当普通号码处理
电信卡 2G 加区号 112打不通,110打不通 不支持电信2G
电信卡 2G 不加区号 112打不通,110打不通 不支持电信2G
电信卡 4G 加区号 112提示号码不存在,110可以正常打通 112加区号当不存在号码处理,110当普通号码处理
电信卡 4G 不加区号 112打不通,110打不通 当紧急号码处理,4G网络不支持紧急拨号
CAT1是否支持视频通话?
不支持
移动、电信,联通卡的通话功能支持情况列表
固件是否支持VOLTE可以通过AT口发送AT+SETVOLTE?查询,0 表示关闭VOLET,1表示打开VOLET功能。
模块 卡 固件是否支持VOLTE 是否支持通话功能
720UH 移动卡 是 是
720UH 移动卡 否 是
720UH 联通卡 是 是
720UH 联通卡 否 是
720UH 电信卡 是 是,卡要开通VOLTE功能
720UH 电信卡 否 否
724UG 移动卡 是 是,卡要开通VOLTE功能
724UG 移动卡 否 否
724UG 联通卡 是 是,卡要开通VOLTE功能
724UG 联通卡 否 否
724UG 电信卡 是 是,卡要开通VOLTE功能
724UG 电信卡 否 否
连接耳机的时候,通电话过程中,耳机没有声音
需要通过,语音通道切换:AT+AUDCH指令设置为耳机通道
详细接口说明:音频播放
模组在电话通话中,能识别对方电话按键吗?
不能,不支持。
可以读到SIM卡的手机号码(MSISDN)吗?
目前有两种方式可以获取本机号码:
一. sim卡出厂时,可以写入自己的手机号码到sim卡中,但这不是强制要求的。在中 国,运营商制卡时基本上都不会写入手机号码。如果可以确认自己用的sim卡中已经存储了手机号码,可以通过如下方式读取手机号码:
发送AT+CNUM命令查询
二. 模块开机后,sim卡向短信平台发送一条短信(短信内容中可以包含imei或者imsi),短信平台收到短信后,识别手机号码后,可通过如下方式通知模块手机号码:
1) 短信平台下发一条短信给模块,短信内容中包含手机号码,模块收到后解析出号码
2) 模块连接一个后台服务器,后台服务器与短信平台相连,根据imei或者imsi读取到对应的手机号码,然后把这个号码,下发给imei或者imsi对应的模块