ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:917.52KB ,
资源ID:11354776      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11354776.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数字中继系统构架设计说明书.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数字中继系统构架设计说明书.docx

1、数字中继系统构架设计说明书保密公开版本号V1.0文件编号 系统构架设计说明书数字中继修订记录版次起草审核批准发行日期摘要陈维明2010/2/22目 录1 文档历史 32 文档目的 33 背景介绍 34 系统分析 44.1 系统框图 44.2 系统信息流分析 74.3 系统接口 145 开发环境 145.1 硬件平台和开发装置 145.2 软件开发环境 156 系统各部分或子系统设计 167 测试相关设计 188 集成测试或单元测试用例 189 参考文献 1810 缩略语 1911 致谢 191 文档历史版本号日期修改的原因修改人0.12012/3/15创建初稿孙陟2 文档目的 写此文档的目的:

2、后续开发提供技术规范,方便维护以及扩展为. 此文档所要起的作用,相关使用人: 开发人员,及感兴趣的相关人员。 该文档所要包括的内容:ROIP网关的简要介绍,框架接口,和关键模块的设计。3 背景介绍 随着Internet网络的普及,一种可以通过IP网络传输语音、视频等业务的VoIP技术迅速发展。VoIP技术是广泛地采用Internet和全球IP互连的环境,主要提供语音传输的服务,完成世界各地有网络覆盖地区之间的语音连接,比较传统的全球通话业务,VoIP的语音通信费用更低,组网更加方便,具有非常大的市场需求,才得以让VoIP技术迅速发展,充分体现了IP数据网络的巨大作用和应用潜力。纵使VoIP的应

3、用如此广泛,但VoIP仍不能完成无线电与IP网络互联的应用。 ROIP-GW是一种专用的无线通讯终端网络接入设备,通过先进的语音处理技术和软交换技术可以使不同类型,不同频段的对讲机无缝接入到IP网络。既可实现远距离的无线对讲通讯,也可实现无线设备与有线设备的互连互通,方便解决无线网络调度,管理,及大范围组网调度中存在的难题,可广泛适用于铁路,公安,军队以及其他有无线对讲机业务的单位,实现远距离大规模无线组网通信。 转来自WIKI的原文描述:Radio over Internet Protocol, or RoIP, is similar to VoIP, but augments two-wa

4、y radio communications rather than telephone calls. From the system point of view, it is essentially VoIP with PTT (Push To Talk). To the user it can be implemented like any other radio network. With RoIP, at least one node of a network is a radio (or a radio with an IP interface device) connected v

5、ia IP to other nodes in the radio network. The other nodes can be two-way radios, but could also be dispatch consoles either traditional (hardware) or modern (software on a PC), POTS telephones, softphone applications running on a computer such as Skype phone, PDA, smartphone, or some other communic

6、ations device accessible over IP. RoIP can be deployed over private networks as well as the public Internet. It is useful in land mobile radio systems used by public safety departments and fleets of utilities spread over a broad geographic area.1 Like other centralized radio systems such as trunked

7、radio systems, issues of delay or latency and reliance on centralized infrastructure can be impediments to adoption by public safety agencies.Refer to http:/en.wikipedia.org/wiki/RoIP4 系统分析 4.1 系统框图 - BizEngine负责主要的业务逻辑,并派发任务给其他组件。- SipListenerImpl负责监听来自SIP网络的呼叫进入和数据,并转发至BizEngine做进一步处理。- DpmrListen

8、erImpl负责监听来自DPMR模块的数据进入,并转发至BizEngine做进一步处理。- SipDpmrManager负责发送消息数据至SIP网络和DPMR模块。- SIP Package支持ROIP-GW在SIP网络中扮演SIP UA的角色,支持SIP协议,和其他SIP UA交互(有些开源的项目的实现,如doubango)。- DPMR Package是DPMR功能模块,支持ROIP-GW与DPMR无线网设备通信。- ROIP-GW由HOST和DPMR模块组成。- HOST模块通过SIP Agent(doubango)与SIP网络通信。- HOST模块通过DPMR Adapter组件与RO

9、IP-GW模块交互(目前是基于串口和模拟音频接口)。- DPMR模块可以是具体的DPMR对讲机,通过DPMR Adapter Stub组件与HOST模块通信。同时还与其他DPMR对讲机通信。4.2 系统信息流分析 TODO: - 呼叫流程图是否可以区分单呼和组呼的情况?4.2.1.1 SIP端发起代理方式呼叫流程1 用户A(SIP UA)向其所属的域代理服务器(软交换)PROXY1发起INVITE请求消息,在该消息中的消息体中带有用户A的媒体属性SDP描述;2 PROXY1返回407响应,要求鉴权;3 用户A发送ACK确认消息;4 用户A重新发送带有鉴权信息的INVITE请求;5 经过路由分析

10、,PROXY1将请求转发到ROIP-GW;6 PROXY1向用户A发送确认消息”100 TRYING”,表示正在对收到的请求进行处理。7 ROIP-GW向PROXY1发送确认消息”100 TRYING”;8 ROIP-GW向PROXY1转发” 180 RINGING”;9 PROXY1向用户A转发” 180 RINGING”,用户A所属的终端播放回铃音;10 ROIP-GW(模拟用户摘机),向PROXY1返回对INVITE请求的”200 OK”响应,在该消息中的消息体中带有ROIP-GW(模拟用户)的媒体属性SDP描述;11 PROXY1向用户A转发”200 OK”;12 用户A向PROXY1

11、发送针对200响应的ACK确认请求消息;13 PROXY1向ROIP-GW转发ACK请求消息,用户A与ROIP-GW之间建立双向RTP媒体流;14. ROIP-GW向DPMR用户B发起H:E帧,请求建立连接。(可选)15. DPMR用户B向ROIP-GW回应ACK,确认连接请求。(可选)CASE#1:SIP用户A开始说话 16. SIP用户A按“模拟PTT键”,SIP UA向PROXY申请话语权(用于组呼)。17. 用户A申请话语权成功后,解释“模拟PTT键”,并以SIP INFO命令发送至PROXY1.18 PROXY1转发此命令至ROIP-GW。19. ROIP-GW收到此命令,检查信道可

12、用,并进入PTT按下状态(发射状态)。(需要ACK?)20. SIP用户A说话,并发送SIP/RTP语音帧至PROXY1.21. PROXY1转发RTP语音帧至ROIP-GW。22. ROIP-GW对收到的RTP语音帧转码(G.7xx= CMX618),并发送至DPMR用户B。CASE#2:DPMR用户B开始说话23. DPMR用户B按PPT说话,24. DPMR语音帧被发送至ROIP-GW。 25. ROIP-GW首先向PROXY申请话语权(用于组呼)。26. ROIP-GW申请话语权成功后,对收到的DPMR语音帧转码(CMX618= G.7xx),并发送SIP语音帧至PROXY1.27.

13、PROXY1转发SIP/RTP语音帧至SIP用户A。CASE#4:DPMR用户B主动挂断28. DPMR用户B按挂断键,结束通话。29. DPMR用户B发送H:E:H:E帧至ROIP-GW。30. ROIP-GW解释H:E:H:E帧为SIP挂断命令,发送BYE至PROXY1。31. PROXY1转发BYE命令至SIP用户A。32. SIP用户A发送确认200至PROXY1.33. PROXY1转发200至ROIP-GW。整个通话结束。CASE#5: SIP用户A结束说话- 用户A结束说话,并松开“模拟PPT键”。- 用户A发送“松开PPT键”命令至PROXY1.- PROXY1转发“松开PPT

14、键”命令至ROIP-GW。- ROIP-GW收到“松开PPT键”命令,(发送“完毕”语音提示至用户B),并进入PPT松开状态(等待状态)。(需要ACK?)CASE#6: SIP用户A主动挂机:- 用户A挂机,用户A向PROXY1发送BYE请求消息。- PROXY1向ROIP-GW转发BYE请求消息;- ROIP-GW发送H:E:H:E挂断请求帧至用户B。- ROIP-GW向PROXY1转发200 OK请求消息;- PROXY1向用户A转发200 OK响应消息,通话结束。- 4.2.1.2 DPMR端发起呼叫流程- DPMR用户端按PPT,开始说话。- ROIP-GW收到DPMR语音帧,并解析出

15、被呼号码,如果该号码的SESSION还未建立,则开始以下与SIP用户端建立连接过程(同时,缓存DPMR语音帧):- 同时,在ROIP-GW与SIP用户端连接建立前,来自DPMR用户的语音帧被缓存至ROIP-GW。- 在ROIP-GW与SIP用户端连接建立后,如果是组呼,需要先向PROXY申请话权。- 然后,ROIP-GW对DPMR语音帧转码,发送至PROXY1。- PROXY1转发语音帧至SIP用户端。- 后续过程(话语权切换,结束通话)参见SIP端发起呼叫流程相应部分。4.2.1.3 话权仲裁机制?- ROIP-GW在发送来自DPMR的语音时,需要向PROXY(或其他SIP服务)申请话权。-

16、 SIP UA发起的呼叫也需要向PROXY申请话权。- 话权申请有多种方式,DDMR/VAD/SIPINFO- 目前暂时考虑的是通过SIP INFO将PTT命令发出。4.2.1.4 ROIP-GW主模块与其DPMR模块命令交互UART串口/HOST模块向DPMR模块发送命令#define CMD_HOST_TO_DPMR_PTT_ON 0#define CMD_HOST_TO_DPMR_PTT_OFF 1#define CMD_HOST_TO_DPMR_SMS 2#define CMD_HOST_TO_DPMR_VOICE 3#define CMD_HOST_TO_DPMR_DISCONN 4

17、typedef struct unsigned char mb_id; /the id of associated dpmr 模块 unsigned char cmd; /命令ID,见宏定义 char to_dpmr_call_num10; /被呼叫的DPMR终端号码 int len; /后续数据包的长度,如果没有数据,设为 unsigned char* data; /数据包(短信,语音)struct_host_to_dpmr;/DPMR模块向HOST模块发送命令#define CMD_DPMR_TO_HOST_SMS 0#define CMD_DPMR_TO_HOST_VOICE 1#def

18、ine CMD_DPMR_TO_HOST_VOICE_STOP 2#define CMD_DPMR_TO_HOST_HANGUP 3typedef struct unsigned char cmd; char to_sip_call_num10; /被呼叫的SIP终端号码 int len; unsigned char* data;struct_dpmr_to_host;/HOST模块向SIP AGENT模块发送命令#define CMD_HOST_TO_SIP_INVITE 0#define CMD_HOST_TO_SIP_SMS 1#define CMD_HOST_TO_SIP_VOICE

19、2#define CMD_HOST_TO_SIP_VOICE_STOP 3#define CMD_HOST_TO_SIP_HANGUP 4typedef struct unsigned char cmd; unsigned char to_sip_call_num; /被呼叫的SIP终端号码 int len; unsigned char* data;struct_host_to_sip;/SIP AGENT模块向HOST模块发送命令#define CMD_SIP_TO_HOST_CONN 0 /ROIP-GW与SIP端建立连接#define CMD_SIP_TO_HOST_PTT_ON 1#d

20、efine CMD_SIP_TO_HOST_PTT_OFF 2#define CMD_SIP_TO_HOST_VOICE 3#define CMD_SIP_TO_HOST_DISCONN 4typedef struct unsigned char cmd; char to_dpmr_call_num10; /被呼叫的DPMR终端号码 int len; unsigned char* data;struct_sip_to_host;/HOST模块向DPMR模块发送语音数据/TODO。4.2.1.5 ROIP-GW呼叫号码映射表typedef struct char sip_num 10; char

21、 dpmr_num10; char uart_num;struct_sip_dpmr_call_num;4.2.1.6 ROIP-GW提示音文件列表/提示音文件列表typedef struct unsigned char no; char path512; char filename64;struct_audio_rec_list;4.3 系统接口 4.3.1.1 系统的外部接口- ROIP-GW与SIP端的交互,遵循SIP协议,实现上基于doubango开源项目,扮演SIP UA角色。- ROIP-GW与DPMR端的交互,遵循DPMR协议。4.3.1.2 系统的内部接口/host sidei

22、nt host_to_dpmr_send(struct_host_to_dpmr *data);int host_to_sip_send(struct_host_to_sip *data);int sip_to_host_send(struct_sip_to_host *data);void on_dpmr_to_host_recv(struct_dpmr_to_host *data);void on_host_to_sip_recv(struct_host_to_sip *data);void on_sip_to_host_recv(struct_sip_to_host *data);/dp

23、mr sideint dpmr_to_host_send(struct_dpmr_to_host *data);void on_host_to_dpmr_recv(struct_host_to_dpmr *data);5 开发环境 5.1 硬件平台和开发装置 - 阶段一:X86 + DPMR对讲机 + UART + 模拟AUDIO- 阶段二:ARM9 + DPMR板 + 硬件解决方案 (UART + PCM?)5.2 软件开发环境 - 阶段一:Host部分:Windows + VS2008 + doubangoDPMR部分:UCOS + KEIL- 阶段二:Host部分:Linux+AMR9

24、DPMR部分:UCOS + KEIL6 系统各部分或子系统设计 6.1.1.1 DPMR子模块 Host模块发送音频数据至dpmr模块: - ROIP-GW Host收到SIP/RTP音频帧,解码成PCM后,通过模拟音频接口发送至dpmr模块的CMX618芯片的PCM接口,CMX618然后进行AD转换,压缩后,通过中断输出到recv task(618 enc).- Recv task (618 enc)转发编码音频数据至send task(7141).- Send task(7141)通过CML7141发送音频数据,最终至空口。 Host模块发送消息数据至dpmr模块: - ROIP-GW H

25、ost通过UART发送消息数据至DPMR模块。- DPMR模块的uart recv task接受消息数据,并转发给main task进行进一步处理。 dpmr模块发送音频数据至host模块: - CML7141芯片接收音频数据,并通过中断通知recv task(7141).- Recv task(7141)发送音频数据至618 dec task。- 618 dec task把音频数据写入CML618.- CML618对编码的音频数据进行解码成PCM数据,并输出到模拟音频接口。- 模拟音频信号在HOST模块端接收,并AD转换成PCM,做进一步处理。 dpmr模块发送消息数据至host模块: -

26、DPMR模块的main task发送消息数据至uart send task.- Uart send task通过UART发送至HOST模块。6.1.1.2 HOST子模块 Host模块处理来自DPMR模块的消息数据: - Uart recv thread通过串口收到来自dpmr模块的消息数据后,转发给main thread. Host模块处理来自DPMR模块的模拟音频信号: - Host模块的音频设备收到模拟音频信号,并通过音频驱动,转换成PCM数据给main task.- Main thread收到pcm数据后,解析出被呼号码,检查该dpmr模块是否已连接到此SIP UA,如果没有,则开始建

27、立SIP连接(查找与当前dpmr模块关联)。并执行后续步骤。- Main thread 压缩编码pcm数据,通过调用doubango API,封装并发送RTP语音帧。 Host模块处理来自SIP UA的数据:- 通过doubango,来自远端SIP UA的呼入和语音数据被转发给main thread.- Main thread收到数据后,根据业务逻辑,执行具体操作,例如:1. 解码RTP语音帧成PCM数据。2. 通过串口,发送消息数据至相应的dpmr模块。3. 通过音频设备,转换PCM数据从模拟音频信号至DPMR模块。4. 响应SIP命令和请求。5. 打开关闭SIP连接。7 测试相关设计 测试

28、模块或测试工具的设计? 特殊的信息输出或记录? 测试接口预留?8 集成测试或单元测试用例 集成测试用例? 单元测试用例?可按系统各部分或子系统分别描述。9 参考文献- IP调度系统设计V1.doc- SIP协议简介与典型呼叫流程.doc- FreeSwitch总体架构.doc- 数字无线对讲机系统构架设计说明书.doc- Doubango开源项目- Radio over IP - Technical Class.pdf- 互联网相关信息搜索- 其他类似产品介绍10 缩略语GUI Graphical User Interface11 致谢描述相关的人员对文档的贡献,并致谢意。焉笠,黄科军,陈维民,崔洪洲,曾润,熊发田END OF DOCUMENT

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1