随笔分类 -  VOIDIP

摘要:一、SDP协议介绍SDP 完全是一种会话描述格式 ― 它不属于传输协议 ― 它只使用不同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。SDP协议是也是基于文本的协议,这样就能保证协议的可扩展性比较强,这样就使其具有广泛的应用范围。SDP 不支持会话内容或媒体编码的协商,所以在流媒体中只用来描述媒体信息。媒体协商这一块要用RTSP来实现.二、SDP协议格式SDP描述由许多文本行组成,文本行的格式为<类型>=<值>,<类型>是一个字母,<值>是 阅读全文
posted @ 2013-01-22 16:39 einyboy 阅读(596) 评论(0) 推荐(0)
摘要:当一个呼叫在ROUTING状态下达到命中拨号规则解析器时,相应的拨号规则就开始解析了。随着解析的进行,在xml文件中的符合条件的或标签中的指令形成一个指令表,安装到这个通道中。你可以将拨号规则文件放到conf/dialplan/default下,这个目录下的拨号规则要比enum拨号规则优先处理。这个目录下的文件执行优先级是按其文件名开头的数字排序(由小到大),最大的那个文件是99999_enum.xml,这个文件捕捉所以的呼叫,所以我们自己定义的文件一定要小于这个文件才可能被先执行。一个以字母开头的文件名会大小999999_enum.xml。可以通过${api func(api arg ${v 阅读全文
posted @ 2012-11-21 13:11 einyboy 阅读(8656) 评论(0) 推荐(0)
摘要:本文来自csdn lidphttp://blog.csdn.net/perfectpdl,转载注明出处,谢谢。我建了一个 Freeswitch 内核研究 交流群, 45211986, 欢迎加入, 另外,提供基于SIP的通信服务器及客户端解决方案,承接 sip/ims 视频客户端开发,支持接入sip软交换,ims核心网,支持 语音,视频,即时通信功能,视频格式支持 h263,h264,mpeg4 软编软解,提供硬件编解码接口对接,提供服务器,有兴趣请联系我。注册到freeswitch的客户端可以互相拨打,但是当客户端想通过freeswitch呼叫那些并没有注册到freeswitch上的客户端怎么 阅读全文
posted @ 2012-11-21 00:19 einyboy 阅读(9876) 评论(0) 推荐(0)
摘要:DTMF定义:由高频音和低频音的两个正弦波合成表示数字按键(0~9 * # A B C D)。VOIP中 检测DTMF通常有三种方法,sip info, inband, out band(rfc2833), 此外,在3gpp ims规范中 对dtmf的要求已经采用最新的rfc4733 取代rfc 2833.1. sip info 为带外检测方式,通过SIP信令通道传输DTMF数据。没有统一的实现标准,通过SIP INFO 方法 发送,包中的signal字段识别DTMF按键。注意当DTMF为“*”时不同的标准实现对应的signal=*或signal=10。SIP INFO的好处就是不影响RTP数 阅读全文
posted @ 2012-11-20 22:57 einyboy 阅读(4879) 评论(0) 推荐(0)
摘要:FS 主函数main()Freeswitch的主函数是在文件switch.c中定义的,该文件的260行是整个程序的入口,主函数主要完成的功能是包括,命令行解析,初始化apr库,构建全局内存池,模块加载和初始化核心组件。初始化apr库是由apr_initialize()函数完成的,apr库是apache的可移植动态库,完成相关的内存池,线程管理的跨平台工作。该函数的调用在主函数的659行。745行的switch_core_set_globals()主要是完成全局目录的设置。不过,在switch_core_init()中再一次调用了该函数。747行的pid= getpid()获取程序的进程号。75 阅读全文
posted @ 2012-11-20 22:54 einyboy 阅读(3643) 评论(0) 推荐(0)
摘要:我建了一个 Freeswitch 内核研究 交流群, 45211986, 欢迎加入, 另外,提供基于SIP的通信服务器及客户端解决方案。读到本章,你应该对 FreeSWITCH 有了一个比较全面的了解,迫切地想实验它强大的功能了。让我们从最初的运行开始,一步一步进入 FreeSWITCH 的神秘世界。命令行参数一般来说,FreeSWITCH 不需要任何命令行参数就可以启动,但在某些情况下,你需要以一些特殊的参数启动。在此,仅作简单介绍。如果你知道是什么意思,那么你就可以使用,如果不知道,多半你用不到。使用 freeswitch -help 或 freeswitch --help 会显示以下信息 阅读全文
posted @ 2012-11-20 21:47 einyboy 阅读(14161) 评论(0) 推荐(1)
摘要:我建了一个 Freeswitch 内核研究 交流群,45211986, 欢迎加入。Asterisk to FreeSWITCH Rosetta StoneWhile FreeSWITCH is not a drop-in replacement for Asterisk, it does many of the same things that Asterisk does. This page is an attempt to help those familiar with Asterisk to leverage that knowledge and quickly locate that 阅读全文
posted @ 2012-11-15 11:40 einyboy 阅读(2942) 评论(0) 推荐(0)
摘要:1、简介目前,在IP网络中实现实时语音、视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音、视频数据传输的标准协议RTP( Real-time Transport Protocol)和RTCP(RTP Control Ptotocol)的主要功能。2、RTP/RTCP协议简介RTP 由 IETF(http://www.ietf.org/)定义在 RFC 3550和3551中。RTP被定义为传输音频、视频、模拟数据等实时数据的传输协议,与传统的注重的高可靠的数据传输的运输层协议相比,它更加侧重的数据传输的实时性,此协议提供的服务包括数据顺序号、时间标记、 阅读全文
posted @ 2012-11-09 16:13 einyboy 阅读(1911) 评论(0) 推荐(0)
摘要:1 引言本文档从一个开发者的角度出发,概要描述Asterisk的体系架构。至于详细的API讨论,请参考公开API头文件所关联的文档。本文档假定您了解Asterisk的一些知识,并知道如何使用它。本文的意图是:从一个高的层次开始了解Asterisk,并逐步深入。它从Asterisk的组件差异开始,最终讨论这些组件在不同应用场景里的协作关系。文中,提供了很多交叉引用链接,指向相关API的一些引用参考,也可能指向相关的源码链接。欢迎对本文档的反馈和贡献。请将您的真知灼见发给asterisk开发组的邮件组:http://lists.digium.com/.谢谢,并预祝您享受Asterisk!2 模块构 阅读全文
posted @ 2012-11-08 10:40 einyboy 阅读(4317) 评论(1) 推荐(1)
摘要:centos5.3 xeon cpuasterisk 1.4到 http://asterisk.hosting.lv/ 下载二进制的 723 729codec_g723-ast14-gcc4-glibc-pentium.socodec_g729-ast14-gcc4-glibc-pentium.socp 到 /usr/lib/asterisk/modules/chmod 755 codec_g729.sochmod 755 codec_g723.soCLI> module load codec_g729.soCLI> module load codec_g723.so如果不出错,那 阅读全文
posted @ 2012-11-06 17:09 einyboy 阅读(2310) 评论(0) 推荐(0)
摘要:一、获取asterisk安装包wgethttp://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.6.0.tar.gz后面的版本号可以改变,可以安装的版本可以参考http://downloads.asterisk.org/pub/telephony/asterisk/releases/二、解压安装1.[root@~]# tar -zxvf asterisk-1.6.1.9.tar.gz //解压asterisk安装包2.[root@~]# cd asterisk-1.6.1.9 //进入asterisk安装包 阅读全文
posted @ 2012-10-23 15:17 einyboy 阅读(2711) 评论(1) 推荐(1)
摘要:1.代码简介:Chan_sip.c是SIP协议(RFC3261)的实现代码,它没有实现对S/MIME, TCP and TLS的支持,对应的配置文件是sip.conf,代码所在的分组是:通道驱动类(channel_drivers)。SIP通道处理各种类型的Sip sessions和dialogs(注意:并不是所有的dialogs都是“电话呼叫”),主要包括:* - Incoming calls that will be sent to the PBX core* - Outgoing calls, generated by the PBX* - SIP subscriptions and no 阅读全文
posted @ 2012-10-23 11:44 einyboy 阅读(2430) 评论(1) 推荐(1)
摘要:由于工作上的VOIP项目需要,最近亲密接触了一下asterisk工程代码。关于asterisk在VOIP上的伟大地位和作用,俺就不絮叨了,请看前作:Astersik+Radius简易攻略 国内对于asterisk的资料介绍,更别说对asterisk的源码分析了,因此我把平时记的一些资料与大家分享一下,希望对同行能有帮助。第一篇就翻译一下Asterisk里的通道的概念,英文原文见于:http://www.asterisk.org/doxygen/1.4/什么是asterisk通道?Asterisk通道是指通过asterisk建立起来的一路通话。这类通话都包含一个incoming连接和一个outb 阅读全文
posted @ 2012-10-23 11:43 einyboy 阅读(1600) 评论(1) 推荐(1)
摘要:Some time ago, I needed to configure an SIP trunk between a Trixbox (Asterisk on Linux) PBX and a Cisco Call Manager PBX. It was pretty hard to find any relevant information on the internet, however eventually I figured out how to do it.Please note that the following configuration reflects a Trixbox 阅读全文
posted @ 2012-10-22 17:02 einyboy 阅读(983) 评论(0) 推荐(0)
摘要:RTP/RTCP的定义及用途,还是请大家自己google。对于wifi手机来说呢,RTP协议用来传送编码后的语音,RTCP协议用来传送控制信息,公司的RTCP附带了一些语音统计信息和jitter buffer的统计信息用来防止语音抖动。由于是公司的东西,我就不细说了。下面是这两个协议的具体实现代码:RTP和RTCP的头部信息如下,一会给出详细的字节图和编码过程。RTP的头部信息:复制代码typedef struct _RTP_HEAD{unsigned charVersion: 2;unsigned charPadding: 1;unsigned charExtension: 1;uns... 阅读全文
posted @ 2012-10-18 16:14 einyboy 阅读(1038) 评论(0) 推荐(0)
摘要:5. Asterisk AGI程序编写指南5.1概述很多时候,我们需要在拨号方案中做某些业务逻辑的判断或者外部数据库的查询,根据具体地需要,有几种做法:1.使用Asterisk的通道变量、Goto函数、Gotoif函数等实现某些简单跳转,通过几个这样的函数的组合,实现简单的业务。2.对终端接入用户的呼叫请求中的某些属性,进行简单的数据库增删改查,在Asterisk官方发布的asterisk-addons开发包中安装MYSQL模块,具体地方法在这不细述。使用类似下面的方式:exten => _0[0-9].,1,MYSQL(Connectconniddhhostdbuser dbpass 阅读全文
posted @ 2012-10-18 01:48 einyboy 阅读(3820) 评论(0) 推荐(2)
摘要:1 开源项目概述Asterisk是一个开源的软件包,通常运行在Linux操作系统平台上。Asterisk可以用三种协议来实现VoIP,同时可以与目前电话使用的标准硬件进行交互通信,Asterisk在实现VoIP时,不需要任何附加硬件,本文所采用的也是这种使用方式。但是,如果企业没有与VoIP语音网关运营商建立合作关系,想要自己构建这样的一个平台,那么要和数字电话设备与模拟电话设备进行交互通信,Asterisk需要一个PCI硬件的支持,这个硬件生产商中最著名的是Digium平台提供的。Asterisk 的结构基本上是十分简单,但是它不同于大多数的电话产品。基本上,Asterisk担任的是一个中间 阅读全文
posted @ 2012-10-18 01:47 einyboy 阅读(1466) 评论(0) 推荐(1)
摘要:一、前言本文档以asterisk-1.4.32为基础写作而成,可能和其他版本有些区别。其中参考了一些别的书籍和文章。因为写的比较仓促,而且基本都是晚上写的,里面的内容逻辑性和语句没有仔细斟酌,就是想到什么写什么,难免有什么遗漏和错误的地方,大家发现请及时通知我修改。另外这是我第一次写技术性的文章还很嫩涩,算是一个开始,希望大家多多支持。二、Asterisk dialplan 基本结构Asterisk dialplan 的语法可以分为四个关键点,也就是语法结构的四个组成部分,四个部分分别context ,extensionnum ,priority 和 action。由这四个组成部分dialpl 阅读全文
posted @ 2012-10-17 15:26 einyboy 阅读(6621) 评论(3) 推荐(1)
摘要:摘要Synopsis Page() 寻呼电话,就是说通过多个电话(和/或他们的扬声器)传输信息,实现IP对讲、IP广播、网络调度指挥等应用。语法描述DescriptionPage(Technology/Resource&Tech2/Res2...[|options])发起一个外拨呼叫到指定的通道/资源,然后把他们作为禁言用户放到一个电话会议桥里(如果没有指定“d”参数项的话)。主叫方作为发言人进入到会议桥。当主叫方离开会议的时候,电话会议被关闭。这需要安装MeetMe并能正常工作(需要时钟)。参数Parametersd - 全双工声音 (也就是说不是一个只听不说的会议!!)q - 安静 阅读全文
posted @ 2012-10-17 14:51 einyboy 阅读(2314) 评论(0) 推荐(0)
摘要:黑名单* 30 - 黑名单号码* 32 - 最后来电黑名单* 31 - 从黑名单中删除一个数字呼叫转移* 72 - 呼叫前转所有激活* 73 - 呼叫转移全部停用* 74 - 呼叫前转所有提示停用* 90 - 遇忙启动* 91 - 遇忙停用* 92 - 遇忙提示停用* 52 - 无应答呼叫前转/不可用激活* 53 - 无应答呼叫前转/不可用关闭* 740 - 切换呼叫转移呼叫等待* 70 - 呼叫等待 - 启动* 71 - 呼叫等待 - 关闭核心* 8 - Asterisk的一般呼叫代接555 - ChanSpy(当时*切换到扩展)666 - 拨号系统传真** - 导演呼叫代接* 2 - 参加 阅读全文
posted @ 2012-10-17 11:14 einyboy 阅读(938) 评论(0) 推荐(0)