open wrt app_openwrt设置有线ap

open wrt app_openwrt设置有线ap驱动环境VOICE-TAPI-VoIP说明Version:0.1简介本文档涉及驱动底层LL,也只是对驱动上层HL的应用分析,对于电话应用编程接口(TAPI)和VoIP进行详细的介绍,是对上层的理解和给应用程序进行调用的接

驱动环境VOICE-TAPI-VoIP说明

                                                

Version :0.1

 

简 介

本文档涉及驱动底层LL,也只是对驱动上层HL的应用分析,对于电话应用编程接口(TAPI)和VoIP进行详细的介绍,是对上层的理解和给应用程序进行调用的接口。篇一详细的介绍了TAPI的上层需要的功能获得接口,篇二详细的介绍了VoIP的上层需要的功能和接口

 

 

篇 一

电话编程接口TAPI的应用,驱动提供给应用程序的服务,在TAPI HL和LL,实现具体设备的功能。TAPI支持Lantiq的各种设备的Voip和POTS功能。

 

TAPI HL作为一个独立的驱动,TAPI LL的实现作为每个支持设备的二进制,二者都需要TAPI接口进行控制和数据路径的建立。

 

一:应用情景支持

  1. ATA和Gateway应用

 

ATA和Gateway应用适应ALM接口到PSTN网络FXO或者模拟电话端口FXS,lantiq设备默认的ALM连接到FXS,若连接FXO,需要重新编程设置线路类型。Chapter 5.1.1 Chapter 5.2.4.

 

就FXS线路而言,振铃是由SLIC产生的高电压信号和紧密联系由固件产生的FSK/DTMF信号编码显示在模拟通道的CID组成的,对于FXO线路,振铃信号如果需要检查,信号检测器被激活。Chapter 5.1.7 Chapter 5.5.2

 

Lantiq设备包含数据通道、信号传输/检测,一次在信号传输/产生之前,有必要建立可以使用的模拟端口ALM和数据通道。ALM到数据通道的连接在Chapter 6.1

 

在某些情形中,信号传输(检测)直接来自通过PCM接口连接的外部的芯片,数据通道必须去连接PCM通道和用合适的PCM通信参数(RX、TX)进行编程。

 

Data channel包括复杂的信号处理(如语音压缩和信号产生/检测)和RTP包,Phone channel资源包含数字语音上的I/O端口。

 

对于ATA和VoIP网关,PCM和ALM属于Phone channel,而SIG和COD资源属于数据通道。因此,IFX_TAPI_ENC_START 只应用于数据通道,IFX_TAPI_LINE_FEED_SET 和IFX_TAPI_PCM_CFG_SET 应用于电话通道。Chapter 8.1

 

这两个通道的连接在打开文件描述符的时候,IFX_TAPI_ENC_START和IFX_TAPI_LINE_FEED_SET使用哪个fd,便是数据通道和电话通道的连接方式。

open wrt app_openwrt设置有线ap

 

VoiceA  data channel IFX_TAPI_ENC_START使用fd0

        phone channel IFX_TAPI_LINE_FEED_SET使用fd1

 

 

2、系统使用经过PCM的FXO

 

我们打大麦盒子使用的是外部桥接PCM的FXO口,PCM的接口和通道的配置和控制在Chapter 5.3. FXO的控制在Chapter 5.1.1 Chapter 5.2.4.

 

 

  1. FXO使用XWAY的SLIC121

 

大麦盒子使用的PCM和SPI连接的FXO,若是使用SLIC121连接的FXO,那么控制DAA设备连接SLIC实现FXO的功能。

  1. voice采样率

 

Lantiq设备的dect channel,ALM和PCM channel支持8kHz和16kHz使用在电话系统的采样比例。

 

对于的ATA和Gateway应用的宽带,PCM通道编码已经扩展支持G.711编码和16-bit linear。注意,在时序的编码序列中,2时隙的给G711,4时隙的给16-bit linear。Chapter 5.3.2.

open wrt app_openwrt设置有线ap

 

对于ALM,采样比率的选择是通过选择数据类型决定的Chapter 5.1.1 Chapter 5.1.1.2.

 

open wrt app_openwrt设置有线ap

 

  1. 调用流的实例

 

VoIP-FXS调用的拨号

open wrt app_openwrt设置有线ap

 

 

 

 

 

 

 

 

 

 

 

 

 

VoIP-FXS调用的设定RTP流

open wrt app_openwrt设置有线ap

 

VoIP-FXS调用的断开连接

open wrt app_openwrt设置有线ap

 

二:架构

  1. 开发环境

 

GR909功能凯子与分开的库函数,不节能在一些操作系统的驱动层,使能GR909的支持。

 

Qos驱动是使用Linux IP栈和通过用户孔家你的TPAI更新RTP包流,为了使用这个功能,给定的linux网络协议栈和Qos驱动必须连接进入和出去的RTP包的交换。Chapter 5.7 Chapter 5.7.2.

 

在各种linux内核的线程和tasklets中,一些线程作为linux的tasklets,这取决于内核的配置。

open wrt app_openwrt设置有线ap

 

Kpi2udp(Qos驱动)-这个threads/tasklets处理来自linux网络协议栈的RTP的交换。

Kpi_in-这个TAPI的KPI执行一个tasklet来从KPI接口接收数据和使用一个内核线程从KPI接口接收包。TAPI_OS_THREAD_PRIO_HIGHEST 和tasklet_hi_schedule()” 处理优先级。

Event Handler-使用linux工作队列“TAPIevents ”分配事件到工作context中

Dxs_int 驱动底层使用内核的线程处理中断请求

 

 

2.驱动接口和初始化

 

TAPI驱动实现下列的字符驱动接口

open/close         获得/释放文件描述符   Chapter 4.2.1 Chapter 4.3.2.

open wrt app_openwrt设置有线ap

 

 

 

select              在中断/事件中阻塞     Chapter 5.7.1.

read/write         从中断模式,来自和给设备接收/发送数据包 Chapter 5.7.1.

ioctl               配置和控制设备 Chapter 8.1.

 

open wrt app_openwrt设置有线ap

 

 

TAPI包含linux内核的接口ifx_tapi_kioctl() ,允许ioctl用户空间接口

 

 

设备与通道初始化

 

TAPI设备初始化

IFX_TAPI_DEV_START 以默认的值初始化TAPI软件,读取当前的voip部分固件和分配所有的操作系统资源,TAPI使用这些容量去分配资源。

if (ioctl(fd, IFX_TAPI_DEV_START, 0) != 0)

       return IFX_ERROR;

 

TAPI通道初始化

IFX_TAPI_CH_INIT  

for (i = 0; i < TAPI_MAX_CHANNELS; i ++) {

/* Initialize all system channels */

 if (ioctl (fd_vmmc[i], IFX_TAPI_CH_INIT, (IFX_int32_t) &init) != 0)

 

 

 

三:特性

在excel表格中,有支持的特性列表,而下面是对这些特性应用说明。

 

  1. POTS特性

open wrt app_openwrt设置有线ap

 

  1. 设置线路类型:FXS、FXO和宽带

模拟通道可以被使用作为FXS和FXO的接口,这个主要的不同是FXS接口连接slic设备,而FXO的接口是DAA设备连接模拟通道。

 

 

应用软件需要配置每个模拟通道在正确的模式:FXS或者FXO模式,以及采样频率。

使用命令:IFX_TAPI_LINE_TYPE_SET,

结构体IFX_TAPI_LINE_TYPE_CFG_t.          

       IFX_TAPI_LINE_TYPE_t.

 

注意:配置正确的线路类型,如果配置正确,DAA驱动加载起来,线路只能设置FXO模式

      设置通道线路类型之前,需要使用命令IFX_TAPI_CH_INIT初始化通道

open wrt app_openwrt设置有线ap

 

open wrt app_openwrt设置有线ap

 

open wrt app_openwrt设置有线ap

 

设置线路的宽带:

IFX_TAPI_LINE_TYPE_FXS_NB

IFX_TAPI_LINE_TYPE_FXS_WB

IFX_TAPI_LINE_TYPE_FXO_NB

IFX_TAPI_LINE_TYPE_FXS_AUTO

 

 

设置线路反馈模式:

IFX_TAPI_LINE_FEED_SET.

IFX_TAPI_LINE_FEED_STANDBY

open wrt app_openwrt设置有线ap

 

 

 

open wrt app_openwrt设置有线ap

 

 

设置脉冲时序验证

IFX_TAPI_LINE_HOOK_VT_SET

IFX_TAPI_LINE_HOOK_VT_t

IFX_TAPI_LINE_HOOK_VALIDATION_TYPE_t

 

设置FXS接口的拨号检测

描述了如何在FXS接口配置脉冲拨号的检测参数,这个接口如何使能事件检测在Chapter 7.

IFX_TAPI_EVENT_PULSE_DIGIT     ( 0 1 2 3 4 5 6 7 8 9 * # )

IFX_TAPI_EVENT_PULSE_START

 

设置模拟线路通道容量

对模拟电话端口进行调整读写增益

IFX_TAPI_PHONE_VOLUME_SET.

IFX_TAPI_COD_VOLUME_SET

设置FXS接口的振铃

FXS端口的振铃处理分为两步:振铃节奏和类型的编程,周期性振铃。

配置振铃类型:IFX_TAPI_RING_CFG_SET

              IFX_TAPI_RING_CFG_MODE_t

               IFX_TAPI_RING_CFG_SUBMODE_t

 

配置振铃节奏:IFX_TAPI_RING_CADENCE_HR_SET

               IFX_TAPI_RING_CADENCE_t,

 

开始停止振铃:IFX_TAPI_RING_START

              IFX_TAPI_RING_STOP.

 

 

设置CID支持

TAPI接口接收/传输CID和振铃。

open wrt app_openwrt设置有线ap

 

IFX_TAPI_CID_TX_INFO_START,

 

CID的配置:IFX_TAPI_CID_CFG_SET

IFX_TAPI_CID_STD_TYPE_t

            IFX_TAPI_CID_CFG_t

 

CID时序配置:IFX_TAPI_CID_TX_SEQ_START

               IFX_TAPI_CID_TIMING_t.

                        

CID    Tx:  IFX_TAPI_CID_TX_SEQ_START

              IFX_TAPI_CID_TX_INFO_START

              IFX_TAPI_CID_MSG_t

 

准备CID消息:IFX_TAPI_CID_MSG_t

               IFX_TAPI_CID_ST_VISINDIC.

               IFX_TAPI_CID_MSG_ELEMENT_t

open wrt app_openwrt设置有线ap

 

 

 

 

CID -Rx   FSK接收器:IFX_TAPI_CID_RX_START

                      IFX_TAPI_CID_HOOK_MODE_t

                      IFX_TAPI_CID_RX_STOP

                      IFX_TAPI_CID_RX_DATA_GET

                       IFX_TAPI_CID_RX_STATUS_GET:

 

设置消息等待提示灯 :   IFX_TAPI_MWL_ACTIVATION_SET

open wrt app_openwrt设置有线ap

 

open wrt app_openwrt设置有线ap

 

 

open wrt app_openwrt设置有线ap

 

 

 

  1. )高级POTS特性

open wrt app_openwrt设置有线ap

 

 

设置线路回声消除

 

WLEC(Window-based Line Echo Canceller)需要在模拟电话接口(IFX_TAPI_WLEC_PHONE_CFG_SET)

或者在PCM接口(IFX_TAPI_WLEC_PCM_CFG_SET) 中被激活。

 

结构体:IFX_TAPI_WLEC_CFG_t;

     IFX_TAPI_WLEC_WIN_SIZE_t.

 

 

设置计数器

TAPI提供计数脉冲的产生,这个主要的过程为:

open wrt app_openwrt设置有线ap

 

 

使用命令:IFX_TAPI_METER_BURST.

 

 

设置自动电话状态检测机制:

open wrt app_openwrt设置有线ap

 

 

使用命令:IFX_TAPI_LINE_PHONE_DETECT_CFG_SET.

           

 

 

设置FXO 支持

TPAI接口提供控制一个和多个FXO线路

IFX_TAPI_FXO_LINE_MODE_SET 允许FXO线路激活和关闭

open wrt app_openwrt设置有线ap

 

 

设置FXO线路状态事件

open wrt app_openwrt设置有线ap

 

open wrt app_openwrt设置有线ap

 

 

设置FXO线路拨号

IFX_TAPI_FXO_DIAL_START

IFX_TAPI_FXO_DIAL_t.

IFX_TAPI_FXO_DIAL_STOP

IFX_TAPI_FXO_DIAL_CFG_SET  

 

设置FXO连接的状态:

IFX_TAPI_FXO_HOOK_SET

IFX_TAPI_FXO_FLASH_SET

IFX_TAPI_FXO_FLASH_CFG_SET

 

设置持续的测量(电压和电流值)

IFX_TAPI_CONTMEASUREMENT_GET

今天的文章open wrt app_openwrt设置有线ap分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/88710.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注