AT 调制解调器 - 音频数据传输 - Escape DLE?

AT Modem - Audio Data Transmission - Escape DLE?

我正在编写一个与 AT 调制解调器通信的应用程序(在本例中使用科胜讯 cx93010 芯片组,请参阅此处的手册:https://www.manualslib.com/manual/1140976/Conexant-Cx93010.html)。 我的应用程序收集来电显示信息并使用各种方式获取基于该信息的信息(黑名单网站查询、分机信息、本地白名单和黑名单等)

出于多种原因,我想更进一步,传输和接收语音数据,例如应答机,检测何时有被抑制号码的人来电,然后播放预定义的消息并挂断。

我已经设置了一个接口来与调制解调器通信并获取我想要的来电显示数据,并根据该数据挂断电话。

我的问题如下:

当我的应用程序接收音频数据时,不是说音频(!)字节流随机(!)包含 DLE 消息作为音频数据的一部分吗?

我已经检查了手册和其他资源,没有任何信息告诉我是否是这种情况,如果是,是如何处理的?

-那些随机事件是否被转义了?如果可以,怎么做?

-或者音频数据是以固定大小的块发送的(基于编解码器?),在这些块之间,可能会出现故意的 DLE 消息,这样我就可以忽略 x 的 DLE 字符出现字节数?

网上找到的各种代码示例(基本上我能找到的)忽略这个。我想知道它们是准确的实现,还是只是展示基本功能的快速而肮脏的示例,随着时间的推移,这些极端情况已被遗忘。

提前致谢!

为了结束这个问题,特别是因为(至少对我而言)这已经出现在 google 搜索顶部,我想分享我自己想出的答案。

因此,作为数据流一部分的随机 DLE 字节("data" 表示 "payload",而不是原始数据)(根据手册)通过附加另一个 DLE-字节给他们。因此,同时出现两个 DLE 字节意味着您需要删除其中一个,并且单个 DLE 是数据的一部分。如果您在原始流中遇到单数 DLE,则意味着下一个字符肯定是调制解调器 (DCE) 发送给您 (DTE) 的事件代码,除了:

DLE+SUB的组合用于转义两个连续传输的DLE字节。这样做是为了不增加要传输的原始数据量。

这意味着各种简单地接收原始数据并将其解释为音频数据的示例and/or发送音频数据而不进行转义只是不准确的过度简化。

感谢所有阅读我的原始问题的人。