- 博客(31)
- 资源 (1)
- 收藏
- 关注
原创 Construct Binary Tree from Inorder and Postorder Traversal
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Soluti
2014-11-24 17:11:45 594
原创 Valid Parentheses
class Solution {public: bool isValid(string s) { int i, head; char stack[100], ch; i = 0; head = 0; while(i ch = s.at(i);
2014-11-15 14:55:30 514
原创 PJSIP开发手册之传输层(六)
第六章 传输层Transport是用来通过网络发送/接收消息的。PJSIP的transport框架是可扩展的,这意味着程序可以自己的transport来传输消息。传输层设计类图下图展示了transport层的各个实例之间的关系。
2014-11-09 00:06:15 3558
原创 PJSIP开发手册之消息缓存区(五)
第五章 消息缓存区接收消息缓存区PJSIP接收到一个SIP消息后,将以pjsip_rx_data类型,而不是简单的消息本身,来传递到PJSIP的不同软件组件。这个结构(pjsip_rx_data)包含接收到的消息的所有信息。接收数据缓存结构
2014-11-09 00:02:01 2507
原创 PJSIP开发手册之解析器(四)
第四章 解析器下面PJSIP解析器的一些特征:1. 它是自顶而下,手写的解析器。它使用了PJLIB的扫描器,此scanner速度很快,并减轻了解析器的复杂性。这样增加解析器可读性。2. 如上所述,执行速度很快。在一台P412.6GHz机器上,1秒钟可以解析68k个800bytes的SIP消息或860k个80bytesde 的URIs。3. 它是可重入的。这使它在多处理器的机器上具有
2014-11-08 23:50:21 3239
原创 PJSIP开发手册之消息元素(三)
第三章 消息元素URI统一资源定位符(URI)几乎是仿照面向对象构造的(或者有人说是基于对象而不是面向对象的)。因此URI是可以被协议栈统一对待,而且新的URI类型也很容易引入。URI类图下图展示了URI对象的设计:
2014-11-08 22:57:40 4464
原创 PJSIP手册
PJSIP手册PJSIP是一个开源的SIP协议栈,内存占用少,具有高性能,而且很灵活。 历史自2003年出现以来,PJSIP一直在不断发展,但它的历史远远不止于此。作者自1999年以来,一直在开发的SIP协议栈,也就是RFC 2543年代。在使用了不同的方法去实现它之后(第一个堆栈实际上是用C + +!),同时因为SIP协议本身的演变,现在/第三代PJSIP版本(0.2.9版本是第
2014-11-05 16:34:31 4773 2
原创 PJSUA手册
其中在pjsip-apps/src/下的PJSUA是一个开源的命令行SIP用户代理(软电话),用PJSIP协议,PJNATH,和PJMEDIA实现。它虽然只有很简单的命令行界面,但是功能齐全。PJSUA手册Pjsua是一个开源的命令行SIP UA(软电话),是PJSIP,PJNATH和PJMEDIA的实现。尽管它只是简单的命令行展现,但是它具有很多特性。简介 S
2014-11-05 16:27:22 4396
原创 PJSIP开发手册之即时消息(十六)
第十六章 即时消息PJSIP基于即时消息可以被用来促进pager,描述在RFC3428(Session InitiationProtocol(SIP)Extension For Instance Messaging)。另外,PJSIP支持消息组合如RFC3994(Indication of Message Compositionfor Instant Messaging)所述。即时消息
2014-11-05 16:16:36 4175
原创 PJSIP开发手册之Refer事件包(十五)
第十五章 Refer事件包refer事件包声明在。应用必须在它使用它的这些功能之前调用pjsip_xfer_init_module()。这个函数注册mod-xfer模块到Endpoint,并注册refer事件包到事件框架。这个refer事件包API和核心事件API相似。
2014-11-05 16:13:15 1558
原创 PJSIP开发手册之Presence事件包(十四)
第十四章 Presence事件包介绍Presence相关的SIP定义在RFC3856” A Presence Event Package fortheSession Initiation Protocol (SIP)”。这个presence事件包允许一个Endpoint来订阅一个URI的presence状态(如buddy)。这章描述了PJSIP的presence事件包的设计和实现。这个
2014-11-05 16:11:45 1748
原创 PJSIP开发手册之SIP事件通知(十三)
第十三章 SIP特定的事件通知SIP事件特定的通知在RFC3265“Session Initiation Protocol-SpecificEvent Notification”描述。这个核心协议定义了建立事件订阅的两种SIP方法,即SUBSCRIBE和NOTIFY,尽管其他方法也可以被定义来建立订阅(如REFER)。这章描述了PJSIP的设计和基于基本的Dialog框架来创建基本和通用的
2014-11-05 15:55:39 8063 1
原创 PJSIP开发手册之Dialog Invite会话和Usage(十二)
第十二章 Dialog Invite会话和Usage介绍Dialog invite会话是一个高层的invite会话管理,它可以被应用用来管理invite会话(包括SDP管理)。这个invite会话封装了抽象的基本Dialog,因此应该不需要使用基本Dialog的API,当它使用invite会话API时。一个Dialog INVITE会话是可以基于每个对话被应用创建的。Dialog IN
2014-11-05 15:36:51 6579
原创 PJSIP开发手册之SDP offer/answer框架(十一)
第十一章 SDP offer/Answer框架PJSIP中SDP offer/answer框架是基于RFC3264”An Offer/Answer模型使用会话描述协议(SDP)”。这个框架的主函数是为了促进本地和远端的媒体能力的协商,和在一个INVITE会话中使用哪个媒体集上达成共识。注意尽管它主要被用在invite会话中,这个框架是基于通用SDP协商框架(pjmedia_sdp_neg)
2014-11-05 15:23:24 4516
原创 PJSIP开发手册之用户代理(十)
第十章基本用户代理层(UA)基本Dialog概念基本的UA dialog提供管理SIP dialogs的基础设备和dialog usages,像dialog的状态,会话计数器,Call-ID,From,To,和Contact头部域,transactions中CSeq的排序,和路由集。这个基本的UA dialog是不知道它正在使用哪种类型的会话(例如,INVITE会话,SUBSCRIBE
2014-11-05 14:52:11 3399
原创 PJSIP开发手册之认证框架(九)
第九章 认证框架PJSIP的认证框架支持客户端和服务端的认证。这个认证框架默认支持HTTP摘要认证,但是其他认证机制也可以加入这个框架。下图说明了该框架的“类图”:
2014-11-05 14:27:58 3109 1
原创 PJSIP开发手册之事务(八)
第八章 Transaction整体设计介绍PJSIP中的transation表示为pjsip_transaction结构,在中。Transaction的生命周期通常有以下几步:l 通过pjsip_tsx_endpt_create_uac()/pjsip_tsx_create_uas()创建l 在初始化UAS之后,应用将需要调用pjsip_tsx_recv_msg()传入初始
2014-11-05 14:08:02 3772
原创 PJSIP开发手册之消息发送(七)
第七章 发送消息发送和接收消息是SIP应用的核心操作。每个模块里的on_rx_request()和on_rx_response()回调函数来处理接收到来的消息。这章将介绍基本的发送外出消息的方法,例如,不使用transaction或dialog。下一章Transaction介绍关于如何有状态地处理请求(到来请求和出去请求)。发送消息概述创建消息PJSIP提供了多种API来创
2014-11-05 13:30:40 6437 2
原创 PJSIP开发手册之模块(二)
第二章 模块模块框架是在PJSIP程序中各个软件组件之间派发SIP消息的主要方法。PJSIP中所有的软件组件,包括transaction层和dialog层,都是以模块实现的。如果没有模块,核心栈(pjsip_endpoint和transport)就不知道如何处理SIP消息。模块框架是基于一个简单但是功能强大的接口抽象。对于接收到的消息,Endpoint(pjsip_endpoint)按照优
2014-11-05 13:06:05 7518
原创 PJSIP开发手册之总体设计(一)
PJSIP是用C语言写的。第一章 总体设计结构通信图下面的图展示了SIP消息是如何在SIP组件之间传递的。类图下面的图展示的是PJSIP的类 EndPointEndPoint是SIP栈的核心,封装在pjsip_endpoint数据结构中。Endpoint有以下属性和职责:它有内存池工厂,负责给所有的SIP组件分配内存池。它有定时器堆实例,为所有
2014-11-05 11:49:46 16508
原创 Copy List with Random Pointer
/** * Definition for singly-linked list with a random pointer. * struct RandomListNode { * int label; * RandomListNode *next, *random; * RandomListNode(int x) : label(x), next(NULL),
2014-11-04 10:08:04 375
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人