自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

Asterisk的SIP type和身份认证

在Asterisk中对某个peer的类型分为3种:peer, user和friend看看voip-info对这三种类型的解释peer : A SIP entity to which Asterisk sends calls (a SIP provider for example). If you want a user (extension) to have multiple phones, ...

2010-12-31 16:01:00 87

SIP穿越NAT&FireWall解决方案

SIP从私网到公网会遇到什么样的问题呢?包的地址转换。SIP消息里面的SIP地址转换。SIP消息里面的SDP中的RTP地址转换。网络现存结构复杂,SIP服务提供商并不一定是NETWORK提供商,很难要求客户只能使用某种方式的NAT&FireWall。如何找出一种可以满足各种网络的SIP应用解决方案呢?NAT和Firewall的基本原理首先,NAT的几种方式:...

2010-12-31 15:56:00 111

asterisk和sip终端都在NAT后面 问题解决方案

网络结构如下:asterisk(192.168.1.99) <--> 无线路由器(公网IP: 55.66.77.88) <-----------------------> 无线路由器(公网IP: 21.31.41.51) <--> eyeBeam(sip软电话: 192.168.12.43)也就是说asterisk和sip终端都在NAT后面。解决方法如下:1。修...

2010-12-31 15:53:00 176

jWebSocket for Android

Why WebSockets?The multitude of WebSockets benefits can be expected to gradually replace traditional mechanisms such as AJAX, XHR, comet or polling. First, the communication is streamlined, because ...

2010-12-30 23:11:00 183

WebSocket

What is the WebSocket API?The WebSocket API is the next generation method of asynchronous communication from client to server. Communication takes place over single TCP socket using the ws (unsecure...

2010-12-30 23:01:00 63

一个很好用的sql在线美化器

功能很全,可以转T-sql,pl/sql,可以把它们转成C# StringBuilder,Java,Delphi,VB 语法的连接字符串功能比PLSQL Developer的美化器更强http://www.dpriver.com/pp/sqlformat.htm?ref=wangz.sqlformat.htm希望能找到一个好的安装版本,在网页上反应速度不快啊...

2010-12-29 10:38:00 332

深入理解sizeof

1.0 回答下列问题:[答案在文章末尾]1. sizeof(char) =                           2. sizeof 'a' =                           3. sizeof "a" =                        4. strlen("a")) =  如果你答对了全部四道题,那么你可以不用细看下面关于s...

2010-12-29 00:06:00 72

浅析malloc()的几种实现方式

malloc()是C语言中动态存储管理的一组标准库函数之一。其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值是一个指向所分配的连续存储域的起始地址的指针。  动态内存分配就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不像数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序的需要即时分配,且分配的大小就...

2010-12-28 23:59:00 94

函数指针和指针函数

【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可少,后面的“形参列表...

2010-12-28 23:57:00 68

回调函数

程序员常常需要实现回调。本文将讨论函数指针的基本原则并说明如何使用函数指针实现回调。注意这里针对的是普通的函数,不包括完全依赖于不同语法和语义规则的类成员函数(类成员指针将在另文中讨论)。声明函数指针 回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用。要实现回调,必须首先定义函数指针。尽管定义的语法有点不可思议,但如果你熟悉函数声明的一般方法,便会发现函数...

2010-12-28 23:56:00 57

函数可重入性及编写规范

一、可重入函数1)什么是可重入性?可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。2)可重入函数...

2010-12-28 23:49:00 68

基于SIP的VoIP相关协议、协议栈及应用

基于SIP的VoIP相关协议、协议栈及应用相关协议SIP(Session Initiation Protocol)协议是IETF多媒体数据和控制体系结构的一个组成部分,是一个基于文本的协议。SIP协议的出发点是想借鉴Web业务成功的经验,以现有的Internet为基础来构架IP电话业务网,因此SIP有着与H.323完全不同的设计思想。它是一个分散式的协议,它将网络设备的复杂性向网络边缘...

2010-12-28 22:03:00 135

silverlight 清空所有文本框

public MainPage() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { Clear(this.LayoutRoot)...

2010-12-28 09:26:00 71

持续检查之sonar初体验

安装、启动Sonar:Sonar的安装很容易,按照Sonar官方主页的安装指南解压缩即可。Sonar默认使用derby作为数据库,你只需要在sonar.properties文件中去掉对derby数据库属性的注释,然后启动Apache derby数据库。按照文档介绍,启动Sonar,默认的主页地址是http://localhost:9000,登录用户名和密码是sonar/so...

2010-12-26 10:55:11 50

Ext做一些小系统确实不错

最近由于工作需要,要用到Ext,根据需求就开发了个Ext的软件,功能方面还有待改善,下面将我的一些相关用到的文件分享如下:1.Ext简介   ext是一个强大的js类库,以前是基于YAHOO-UI,现在已经完全独立了,   主要包括data,widget,form,grid,dd,menu,其中最强大的应该算grid了,编程思想是基于面向对象编程(oop),扩展性相当的好....

2010-12-26 10:54:44 79

sprintf详解

转摘声明:选自《CSDN 社区电子杂志——C/C++杂志》在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下:int sprintf( char...

2010-12-23 15:33:00 124

数据库编程接口Libpq 3

.10 在多线程程序中使用libpq libpq的函数是线程安全的,可以在多线程程序中使用libpq。但编译libpq共享库时,必须使用特殊的选项才能保证生成的libpq共享库是线程安全的。Libpq提供了一个特殊的函数PQisthreadsafe,应用程序可以调用这个函数确定自己使用的libpq共享库是不是线程安全的。PQisthreadsafe返回1表示libpq共享库是线程安全的,返回0表...

2010-12-23 15:19:00 81

数据库编程接口Libpq 2

1.4 异步函数 使用函数PQexec执行SQL命令很方便,但也有下面的缺点:· PQexec 必须等到发出的命令执行结束才会返回,如果命令执行的时间比较长,应用程序将长时间处于等待状态,不能响应用户的其它请求,降低了程序的交互性。 · PQexec如果一次执行多条命令,只有最后一条命令的PGresult才会被返回,前面的命令的PGresult会被丢弃。 Li...

2010-12-23 15:09:00 125

数据库编程接口Libpq

Libpq是PostgreSQL提供的C语言数据库编程接口,用户可以使用Libpq的API来访问数据库,开发应用程序。1.1 数据库连接控制函数应用程序在连接数据库时必须使用本节介绍的数据库连接控制函数。应用程序可以同时建立多个数据库连接,一个连接只能访问一个数据库中的数据。每个数据库连接用一个PGconn对象表示,函数PQconnectdb或PQsetdbLogin会返回一个PGconn对...

2010-12-23 13:41:00 142

ie中 js 操作pdf的接口 -- adobe

功能描述:页面内嵌pdf文件,对文件进行放大缩小,前后翻页,打印等操作。接口: PDF.AboutBox PDF.goBackwardStack PDF.goForwardStack PDF.gotoFirstPage PDF.gotoLastPage PDF.gotoNextP...

2010-12-23 09:19:34 236

Asterisk 1.8 队列 分析

上一篇文章 讨论了 invite请求最终 走到 dialplan,走到拨号方案后 具体做什么动作由用户决定,对于呼叫中心应用,队列是必不可少的功能,本篇文档分析一下主叫打进系统,走到dialplan后 进队列,呼叫坐席。。一切从队列开始。。。。queue(nama,timout,tT,,.),queue_exec为队列入口函数。首先解析 队列参数。AST_DECLARE...

2010-12-22 12:37:00 109

Asterisk 1.8 sip 协议栈分析 2

上一篇文章分析了 sip注册消息的流程,下面分析一下 invite请求的处理流程。从handle_request_invite入口,invite请求此处处理replace请求头,如果为replace则认为是咨询,此时不会创建新的通道,而是找到一个通道植入(masqued),大多数情况下是根据invite创建新的请求,所以此处我们从这里开始,不考虑咨询情况首先检查此请求是否为重复请求...

2010-12-21 18:32:00 266

sip 消息 解惑

记录几个关键的地方,经常容易忘掉。1。rport :VIA头域的一个字段,一种解决nat穿透方案,sip扩展。2。虽然ack属于Invite的一个确认响应,但ACK与invite不属于一个 transaction。属于一个会话。3。 sip 中的事务 branch IDs 都由固定字符串z9hG4bK开始4。call-id ,实际上call-id唯一标识一路通话,但是在某些...

2010-12-21 15:57:00 201

浏览器安全标记

在silverlight网页常常看到一个标记<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"...

2010-12-17 11:09:00 202

C++ Style Guide

Common RulesThe following style guidelines will be followed for both Slice and C++ code:C1. Braces for compound statements will be on their own lines, at the same indentation level as the stateme...

2010-12-17 00:05:00 61

STUN

STUN (Simple Traversal of UDP through NATs (Network Address Translation)) is a protocol for assisting devices behind a NAT firewall or router with their packet routing. RFC 5389 redefines the term STU...

2010-12-16 23:19:00 101

Asterisk SIP channels

SIP Channel Module The SIP Channel Module enables Asterisk to communicate via VOIP with SIP telephones and exchanges. Asterisk is able to act as a SIP client: This means that Asterisk registers a...

2010-12-16 23:16:00 113

Asterisk SIP media path

In a normal SIP proxy, the server is not involved in the media between the phones. With Asterisk, sometimes Asterisk stays in the path. It depends on many variables and configurations. Asterisk mostly...

2010-12-16 23:14:00 69

Asterisk SIP user vs peer

Asterisk SIP 'users' and 'peers' are have been the source of much confusion for Asterisk users. With newer versions of Asterisk the concept of SIP 'users' will be phased out. Quotes from Kevin Fleming...

2010-12-16 23:11:00 56

Asterisk sip canreinvite

Asterisk sip.conf, peer definition: canreinvite option This peer option in sip.conf is used to tell the Asterisk server to not issue a reinvite to the client unless really necessary. This is used to...

2010-12-16 23:04:00 62

Asterisk Letting SIP clients connect directly

Asterisk by default connects all media streams through asterisk to be able to connect various protocols and media to each other. If you have two SIP phones, the media path can be connected directly be...

2010-12-16 23:00:00 54

port forwarding

Port Forwarding is configured on the router (machine making nat) and will forward connections originated from external clients to internal machine running asterisk. If using Linux/Netfilter, run, on r...

2010-12-16 22:55:00 82

SIP with NAT or Firewalls

Most conventional voip protocols (SIP, h323, …) are not programmed with NAT in mind, on itself they only carry call signaling (call setup, teardown,… and use RTP to carry the audio samples.The sig...

2010-12-16 22:50:00 96

Asterisk SIP NAT solutions

Asterisk, SIP and NAT Asterisk can both act as a SIP client and a SIP server. Asterisk as a SIP client is configured with type=peer (or type=friend) in one or more client sections of sip.conf and, o...

2010-12-16 22:47:00 52

SIP基本应用方案

本系统中提到的是SIP在企业网络种的应用,可以适应各种情况下的企业网络,对VOIP在企业网络中的普及,起到很大的推进作用。同时系统的设计是完全参照相关规范来制定的,可以和标准设备完全互通,对现有网络结构不需要任何修改。推广到所有VOIP协议上,对于H323,MEGACO协议的应用,本公司也可以提供相应的方案来解决在企业网络上应用的局限。SIP基本应用 SIP协议作为VOIP通信...

2010-12-16 18:36:00 123

Asterisk 1.8 meetme 改进

1、MeetMe应用现在打开了一个DENOISE()功能,每一方都是。这可以显著降低背景噪音(特别是在嘈杂的数据中心机房里)。 Qp!J:YV 2、MeetMe有一个新的参数选项 'G' ,在加入会议桥之前播放一个宣告。 Jz$ >k$!UD 3、MeetMe无需设置参数选项 'o',默认已经启用。 e2Jp'93o' 4、MeetMe增加一个‘C’选项,当一个用户被踢出来的时候,可以继续执...

2010-12-16 15:48:00 86

Asterisk 1.8 提高了大型Dialplan的效率

如果用Asterisk开发一个大型的IVR或其它的业务系统,比如托管式通讯服务或者外包呼叫中心或者大型声讯平台,那么Dialplan的解析效率确实是一个问题。 -&Gfh/_NW 1.8版本引入了一个新的分机模式匹配模式,基于trie技术(Trie,又称单词查找树,是一种树形结构,用于保存大量的字符串。它的优点是:利用字符串的公共前缀来节约存储空间。)。可以显著地加速中型和大型dialpl...

2010-12-16 15:47:00 63

Asterisk 1.8 Dialplan里获取SIP响应编码

Asterisk里调试SIP确实挺麻烦的,一般使用另外的网络协议分析工具。从1.8版本开始,可以直接在Dialplan里拿到详细的SIP交互信息,从而更加准确地获取拨号状态、网络状态、用户状态(UA)等。 gxmc| 以前版本里,拨号后的状态DIALSTATUS一般返回值有ANSWER、BUSY、NOANSWER、CANCEL、CONGESTION、CHANUNAVAIL、DONTCALL、TOR...

2010-12-16 15:46:00 147

SIP通过NAT的实例解析

下面对SIP协议产生NAT穿透问题,作一些解释;及提出解决的办法。 1、大致有4种类型的NAT。a) Full Cone 完全圆锥体b) restricted cone 受限制的圆锥体c) port restricted 端口受限制的圆锥体d) symmetric 对称的其中a,b,c 也称作非对称的NAT。2、SIP终端在NAT后面,其工作有可能出现问题。原因是SIP信令走的路径,和媒体流走...

2010-12-16 12:20:00 173

Asterisk 1.8 sip 协议栈分析

看了一下 asterisk 1.8 ,chan_sip 更新了许多内容,下面结合asterisk 1.4 asterisk 1.6 分析一下sip协议栈。此笔记为本人学习记录,有些地方描述其他人可能看不懂,望见谅。分析路线sipsock_read->parse_request->find_call->handle_inconming->handle_requ...

2010-12-15 13:30:00 131

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除