电话服务

更新时间:2024-04-08 08:18:04下载pdf

本文主要介绍蜂窝标准协议下电话服务的相关指令说明。

电话呼入提醒(0x71 23 00)

由于 MCU 与模组属于一问一答交互方式,MCU 收到电话呼入提醒时应予以答复,3 秒内 MCU 不做对应指令响应,呼入即被挂断。

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0002+N(电话号码)
数据 2+N
  • 子命令:0x23
  • 控制字:0x00
  • 电话号码(字符串 N 字节)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 00 71 00 0D 23 00 31 35 38 39 30 39 38 36 37 36 37 F2

MCU 返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x71
数据长度 2 0x0002
数据 2
  • 子命令:0x23
  • 控制字:0x00
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 03 71 00 02 23 00 98

电话呼出(0x71 23 01)

呼出返回成功仅代表指令下发成功。具体对方是否收到,需要通过电话状态查询。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x71
数据长度 2 0x0002+N(电话号码)
数据 2+N
  • 子命令:0x23
  • 控制字:0x01
  • 电话号码(字符串)
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 03 71 00 07 23 01 31 30 30 38 36 9D

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0003
数据 3
  • 子命令:0x23
  • 控制字:0x01
  • 结果:1 表示成功,0 表示失败。
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 00 71 00 03 23 01 01 98

电话接听(0x71 23 02)

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x71
数据长度 2 0x0002
数据 2
  • 子命令:0x23
  • 控制字:0x02
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 03 71 00 02 23 02 9A

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0003
数据 3
  • 子命令:0x23
  • 控制字:0x02
  • 结果:1 表示成功,0 表示失败。
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 00 71 00 03 23 02 00 9A

电话挂断(0x71 23 03)

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x71
数据长度 2 0x0002
数据 2
  • 子命令:0x23
  • 控制字:0x03
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 03 71 00 02 23 03 9B

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0003
数据 3
  • 子命令:0x23
  • 控制字:0x03
  • 结果:1 表示成功,0 表示失败。
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 00 71 00 03 23 03 00 99

电话状态查询(0x71 23 04)

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x71
数据长度 2 0x0002
数据 2
  • 子命令:0x23
  • 控制字:0x04
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 03 71 00 02 23 04 9C

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0003
数据 3
  • 子命令:0x23
  • 控制字:0x04
  • 结果:
    • 0:拨号中
    • 1:空闲
    • 2:通话失败
    • 3:通话中
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 00 71 00 03 23 04 01 9B

电话状态上报(0x71 23 04)

在模组通话状态发生改变时,自动上报通话状态,避免反复查询通话状态而占用资源。

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0003
数据 3
  • 子命令:0x23
  • 控制字:0x04
  • 结果:
    • 0:拨号中
    • 1:空闲
    • 2:通话失败
    • 3:通话中
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

示例:55 aa 00 71 00 03 23 04 01 9B

设置 VoLTE 开关(0x72 94)

设置 VOLTE 开关,打开时,支持 4G 模式下语音通话功能。否则,语音通话时,网络制式将自动切换到 2G。在 SIM 卡支持语音业务的情况下,如果运营商网络不支持 2G,需要打开此开关,才能支持通话功能。如果运营商网络同时支持 2G、4G 语音,用户可以自由选择是否开启 VOLTE。VOLTE 的开关设置掉电会保存。

  • LZxxx-CN 模组目前仅支持 4G 网络,系统默认开启 VOLTE。
  • LZ211-EAU 模组同时支持 2G、4G 网络,系统默认开启 VOLTE。如果用户不希望开启 VOLTE,可通过该接口关闭 VOLTE 功能。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x94
  • 控制命令:
    • 0x01:打开
    • 0x00:关闭
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x94
  • 状态:
    • 0x00:失败
    • 0x01:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

发送 DTMF 指令(0x72 95)

用于实现 10086 之类的语音交互,语音提示后,用户操作按键,调用该接口将按键音频发送到语音通道。该函数只能在通话状态后调用,否则将调用失败。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0006
数据 6
  • Data[0] 子命令:0x95
  • Data[1] 信号音类型:
    • 0:DTMF 0
    • 1:DTMF 1
    • 2:DTMF 2
    • 3:DTMF 3
    • 4:DTMF 4
    • 5:DTMF 5
    • 6:DTMF 6
    • 7:DTMF 7
    • 8:DTMF 8
    • 9:DTMF 9
    • 10:DTMF A
    • 11:DTMF B
    • 12:DTMF C
    • 13:DTMF D
    • 14:DTMF #
    • 15:DTMF *
  • Data[2]-Data[5]:音频持续时长,单位为毫秒,高字节在前
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x95
  • 状态:
    • 0x00:失败
    • 0x01:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

DTMF 监听功能使能(0x72 99)

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x99
  • 控制命令:
    • 00:关闭
    • 01:开启
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x72
数据长度 2 0x0002
数据 2
  • 子命令:0x99
  • 结果:
    • 0:失败
    • 1:成功
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

DTMF 监听上报(0x71 95)

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x71
数据长度 2 0x0002
数据 2
  • Data[0] 子命令:0x95
  • Data[1] 信号音类型:
    • 0:DTMF 0
    • 1:DTMF 1
    • 2:DTMF 2
    • 3:DTMF 3
    • 4:DTMF 4
    • 5:DTMF 5
    • 6:DTMF 6
    • 7:DTMF 7
    • 8:DTMF 8
    • 9:DTMF 9
    • 10:DTMF A
    • 11:DTMF B
    • 12:DTMF C
    • 13:DTMF D
    • 14:DTMF #
    • 15:DTMF *
校验和 1 从帧头开始按字节求和,得出的结果对 256 求余

设置或查询通话 MIC 增益(0x71 46)

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x71
数据长度 2 0x0002/0x0003
数据 2/3 子命令:0x46
  • 查询命令
    Data[1] 0:查询
  • 设置命令
    Data[1] 1:设置
    Data[2] 设置值 0~30,其中 0 表示静音
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

模组发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0003/0x0004
数据 3/4 子命令:0x46
  • 查询命令
    Data[1] 0:查询
    Data[2] 0:失败,1:成功
    Data[3] 设置值 0~30,其中 0 表示静音
  • 设置命令:
    Data[1] 1:设置
    Data[2] 0:失败,1:成功
校验和 1 从帧头开始按字节求和得出的结果对 256 求余
  • 数据设置后会保存在 Flash 中,在进入通话模式后,根据设置的值自动设置增益到 MIC 驱动中。如果设置的时候在通话模式中,会实时设置到 MIC 驱动中。
  • 未设置会报查询失败。

示例:

  • 查询命令:55 aa 03 71 00 02 46 00 BB

  • 设置命令:55 aa 03 71 00 03 46 01 10 CD

设置或查询侧音增益(0x71 47)

该命令需要在通话过程中才有效。

MCU 发送

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x71
数据长度 2 0x0002/0x0003
数据 2/3 子命令:0x47
  • 查询命令
    Data[1] 0:查询
  • 设置命令
    Data[1] 1:设置
    Data[2]:0~100
校验和 1 从帧头开始按字节求和得出的结果对 256 求余

模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x71
数据长度 2 0x0004/0x0003
数据 4/3 子命令:0x47
  • 查询命令
    Data[1] 类型选择:
    Data[1] 0:查询
    Data[2] 0:失败,1:成功
    Data[3] 设置值 0~100
  • 设置命令
    Data[1] 1:设置
    Data[2] 0:失败,1:成功
校验和 1 从帧头开始按字节求和得出的结果对 256 求余
  • 数据设置后会保存在 Flash 中,在进入通话模式后,根据设置的值自动设置侧音增益到驱动中。如果设置的时候在通话模式中,会实时设置到驱动中。
  • 未设置会报查询失败。

示例:

  • 查询命令:55 aa 03 71 00 02 47 00 BC

  • 设置命令:55 aa 03 71 00 03 47 01 05 C3