没有合适的资源?快使用搜索试试~ 我知道了~
PJSIP开发指南英文版本 0.5.4
需积分: 2 0 下载量 55 浏览量
2023-02-16
17:36:15
上传
评论
收藏 922KB PDF 举报
温馨提示
试读
112页
PJSIP 开发文档 适合初学者阅读
资源推荐
资源详情
资源评论
PJSIP
Developer’s Guide
Version 0.5.4
PJSIP Developer’s Guide
ABOUT PJSIP
PJSIP is small-footprint and high-performance SIP stack written in C.
PJSIP is distributed under GNU General Public License (GPL). Alternative
licensing is available.
Please visit http://www.pjproject.net for more details.
ABOUT THIS DOCUMENT
Copyright ©2005-2006 Benny Prijono
This is a free document distributed under GNU Free Documentation License
version 1.2. Everyone is permitted to copy and distribute verbatim copies of this
document, but changing it is not allowed.
Page 2
PJSIP Developer’s Guide
DOCUMENT REVISION HISTORY
Ver Date By Changes
0.5.4 07 Mar
2006
bennylp Added dlg_terminate(), inv_terminate() et all.
Review the evsub API, added few more words.
Added IM and iscomposing chapter.
Added PJSUA abstraction chapter.
0.5.2 25 Feb
2006
bennylp Added event framework, presence, and refer
event package.
0.5.1 15 Feb
2006
bennylp • Application needs to call pjsip_tsx_recv_msg()
after creating UAS transaction.
0.5.0 27 Jan
2006
bennylp • added generic capabilities management to
endpoint.
• changed module interface (removed supported
methods).
• no more stateless operations in dialogs.
• introducing dialog set.
0.5-pre 10 Jan
2006
bennylp Updated according to changes in module and
transaction API.
0.5-pre 19 Dec
2005
bennylp
Initial revision
Page 3
PJSIP Developer’s Guide
Table of Contents
TABLE OF CONTENTS ....................................................................................................................... 4
TABLE OF FIGURES ............................................................................................................................ 8
TABLE OF CODES ................................................................................................................................ 8
CHAPTER 1: GENERAL DESIGN ..................................................................................................... 11
1.1 ARCHITECTURE .................................................................................................................................. 11
1.1.1 Communication Diagram ...................................................................................................... 11
1.1.2 Class Diagram ....................................................................................................................... 11
1.2 THE ENDPOINT .................................................................................................................................. 12
1.2.1 Pool Allocations and Deallocations ...................................................................................... 12
1.2.2 Timer Management ................................................................................................................ 12
1.2.3 Polling the Stack .................................................................................................................... 13
1.3 THREAD SAFETY AND THREAD COMPLICATIONS ..................................................................................... 13
1.3.1 Thread Safety ......................................................................................................................... 13
1.3.2 The Complications ................................................................................................................. 13
1.3.3 The Relief ............................................................................................................................... 14
CHAPTER 2: MODULE ....................................................................................................................... 15
2.1.1 Module Declaration ............................................................................................................... 15
2.1.2 Module Priorities ................................................................................................................... 16
2.1.3 Incoming Message Processing by Modules ........................................................................... 17
2.1.4 Outgoing Message Processing by Modules ........................................................................... 17
2.1.5 Transaction User and State Callback .................................................................................... 18
2.1.6 Module Specific Data ............................................................................................................ 18
2.1.7 Callback Summary ................................................................................................................. 19
2.1.8 Sample Callback Diagrams ................................................................................................... 20
2.2 MODULE MANAGEMENT ..................................................................................................................... 21
2.2.1 Module Management API ...................................................................................................... 21
2.2.2 Module Capabilities .............................................................................................................. 21
CHAPTER 3: MESSAGE ELEMENTS .............................................................................................. 23
3.1 UNIFORM RESOURCE INDICATOR (URI) ............................................................................................... 23
3.1.1 URI “Class Diagram” ........................................................................................................... 23
3.1.2 URI Context ........................................................................................................................... 23
3.1.3 Base URI ................................................................................................................................ 24
3.1.4 SIP and SIPS URI .................................................................................................................. 25
3.1.5 Tel URI .................................................................................................................................. 25
3.1.6 Name Address ........................................................................................................................ 26
3.1.7 Sample URI Manipulation Program ...................................................................................... 26
3.2 SIP METHODS .................................................................................................................................. 27
3.2.1 SIP Method Representation (pjsip_method) .......................................................................... 27
3.2.2 SIP Method API ..................................................................................................................... 28
3.3 HEADER FIELDS ................................................................................................................................ 29
3.3.1 Header “Class Diagram” ..................................................................................................... 29
3.3.2 Header Structure ................................................................................................................... 29
3.3.3 Common Header Functions ................................................................................................... 30
3.3.4 Supported Header Fields ....................................................................................................... 31
3.3.5 Header Array Elements ......................................................................................................... 31
3.4 MESSAGE BODY (PJSIP_MSG_BODY) ..................................................................................................... 32
3.5 MESSAGE (PJSIP_MSG) ....................................................................................................................... 33
3.6 SIP STATUS CODES ........................................................................................................................... 34
3.7 NON-STANDARD PARAMETER ELEMENTS .............................................................................................. 35
3.7.1 Data Structure Representation (pjsip_param) ...................................................................... 36
3.7.2 Non-Standard Parameter Manipulation ................................................................................ 36
3.8 ESCAPEMENT RULES .......................................................................................................................... 36
Page 4
PJSIP Developer’s Guide
CHAPTER 4: PARSER ......................................................................................................................... 38
4.1 FEATURES ......................................................................................................................................... 38
4.2 FUNCTIONS ....................................................................................................................................... 39
4.2.1 Message Parsing .................................................................................................................... 39
4.2.2 URI Parsing ........................................................................................................................... 39
4.2.3 Header Parsing ...................................................................................................................... 39
4.3 EXTENDING PARSER ........................................................................................................................... 40
CHAPTER 5: MESSAGE BUFFERS .................................................................................................. 41
5.1 RECEIVE DATA BUFFER ..................................................................................................................... 41
5.1.1 Receive Data Buffer Structure ............................................................................................... 41
5.2 TRANSMIT DATA BUFFER (PJSIP_TX_DATA) .......................................................................................... 42
CHAPTER 6: TRANSPORT LAYER ................................................................................................. 43
6.1 TRANSPORT LAYER DESIGN ................................................................................................................ 43
6.1.1 “Class Diagram” .................................................................................................................. 43
6.1.2 Transport Manager ................................................................................................................ 43
6.1.3 Transport Factory .................................................................................................................. 44
6.1.4 Transport .............................................................................................................................. 44
6.2 USING TRANSPORTS ........................................................................................................................... 46
6.2.1 Function Reference ................................................................................................................ 46
6.3 EXTENDING TRANSPORTS .................................................................................................................... 46
6.4 INITIALIZING TRANSPORTS ................................................................................................................... 46
6.4.1 UDP Transport Initialization ................................................................................................ 47
6.4.2 TCP Transport Initialization ................................................................................................. 47
6.4.3 TLS Transport Initialization .................................................................................................. 47
6.4.4 SCTP Transport Initialization ............................................................................................... 47
CHAPTER 7: SENDING MESSAGES ................................................................................................ 48
7.1 SENDING MESSAGES OVERVIEW .......................................................................................................... 48
7.1.1 Creating Messages ................................................................................................................ 48
7.1.2 Sending Messages .................................................................................................................. 48
7.2 FUNCTION REFERENCE ........................................................................................................................ 49
7.2.1 Sending Response .................................................................................................................. 49
7.2.2 Sending Request ..................................................................................................................... 50
7.2.3 Stateless Proxy Forwarding .................................................................................................. 52
7.3 EXAMPLES ........................................................................................................................................ 53
7.3.1 Sending Responses ................................................................................................................. 53
7.3.2 Sending Requests ................................................................................................................... 54
7.3.3 Stateless Forwarding ............................................................................................................. 55
CHAPTER 8: TRANSACTIONS ......................................................................................................... 56
8.1 DESIGN ............................................................................................................................................ 56
8.1.1 Introduction ........................................................................................................................... 56
8.1.2 Timers and Retransmissions .................................................................................................. 56
8.1.3 INVITE Final Response and ACK Request ............................................................................ 56
8.1.4 Incoming ACK Request .......................................................................................................... 57
8.1.5 Server Resolution and Transports ......................................................................................... 57
8.1.6 Via Header ............................................................................................................................. 58
8.2 REFERENCE ....................................................................................................................................... 58
8.2.1 Base Functions ...................................................................................................................... 58
8.2.2 Composite Functions ............................................................................................................. 59
8.3 SENDING STATEFULL RESPONSES ......................................................................................................... 60
8.3.1 Usage Examples .................................................................................................................... 60
8.4 SENDING STATEFULL REQUEST ............................................................................................................ 60
8.4.1 Usage Examples .................................................................................................................... 61
8.5 STATEFULL PROXY FORWARDING ......................................................................................................... 61
8.5.1 Usage Examples .................................................................................................................... 61
CHAPTER 9: AUTHENTICATION FRAMEWORK ....................................................................... 63
Page 5
剩余111页未读,继续阅读
资源评论
韩搏
- 粉丝: 311
- 资源: 59
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功