PJSIP Developer's Guide

3y ago
20 Views
2 Downloads
938.96 KB
112 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Abram Andresen
Transcription

PJSIPDeveloper’s GuideVersion 0.5.4

PJSIP Developer’s GuideABOUT PJSIPPJSIP is small-footprint and high-performance SIP stack written in C.PJSIP is distributed under GNU General Public License (GPL). Alternativelicensing is available.Please visit http://www.pjproject.net for more details.ABOUT THIS DOCUMENTCopyright 2005-2006 Benny PrijonoThis is a free document distributed under GNU Free Documentation Licenseversion 1.2. Everyone is permitted to copy and distribute verbatim copies of thisdocument, but changing it is not allowed.Page 2

PJSIP Developer’s GuideDOCUMENT REVISION HISTORYVerDateBy0.5.407 Mar2006bennylpChanges 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.225 Feb2006bennylp Added event framework, presence, and referevent package.0.5.115 Feb2006bennylp Application needs to call pjsip tsx recv msg()after creating UAS transaction.0.5.027 Jan2006bennylp added generic capabilities management toendpoint. changed module interface (removed supportedmethods). no more stateless operations in dialogs. introducing dialog set.0.5-pre10 Jan2006bennylp0.5-pre19 Dec2005bennylpUpdated according to changes in module andtransaction API.Initial revisionPage 3

PJSIP Developer’s GuideTable of ContentsTABLE OF CONTENTS. 4TABLE OF FIGURES. 8TABLE OF CODES. 8CHAPTER 1: GENERAL DESIGN.111.1 ARCHITECTURE.111.1.1 Communication Diagram. 111.1.2 Class Diagram. 111.2 THE ENDPOINT.121.2.1 Pool Allocations and Deallocations. 121.2.2 Timer Management. 121.2.3 Polling the Stack. 131.3 THREAD SAFETY AND THREAD COMPLICATIONS. 131.3.1 Thread Safety. 131.3.2 The Complications. 131.3.3 The Relief. 14CHAPTER 2: MODULE. 152.1.1 Module Declaration. 152.1.2 Module Priorities. 162.1.3 Incoming Message Processing by Modules. 172.1.4 Outgoing Message Processing by Modules. 172.1.5 Transaction User and State Callback. 182.1.6 Module Specific Data. 182.1.7 Callback Summary. 192.1.8 Sample Callback Diagrams. 202.2 MODULE MANAGEMENT. 212.2.1 Module Management API. 212.2.2 Module Capabilities. 21CHAPTER 3: MESSAGE ELEMENTS. 233.1 UNIFORM RESOURCE INDICATOR (URI). 233.1.1 URI “Class Diagram”. 233.1.2 URI Context. 233.1.3 Base URI. 243.1.4 SIP and SIPS URI. 253.1.5 Tel URI. 253.1.6 Name Address. 263.1.7 Sample URI Manipulation Program.263.2 SIP METHODS. 273.2.1 SIP Method Representation (pjsip method). 273.2.2 SIP Method API. 283.3 HEADER FIELDS. 293.3.1 Header “Class Diagram”. 293.3.2 Header Structure. 293.3.3 Common Header Functions. 303.3.4 Supported Header Fields. 313.3.5 Header Array Elements. 313.4 MESSAGE BODY (PJSIP MSG BODY).323.5 MESSAGE (PJSIP MSG). 333.6 SIP STATUS CODES.343.7 NON-STANDARD PARAMETER ELEMENTS. 353.7.1 Data Structure Representation (pjsip param). 363.7.2 Non-Standard Parameter Manipulation. 363.8 ESCAPEMENT RULES. 36Page 4

PJSIP Developer’s GuideCHAPTER 4: PARSER. 384.1 FEATURES.384.2 FUNCTIONS. 394.2.1 Message Parsing.394.2.2 URI Parsing. 394.2.3 Header Parsing.394.3 EXTENDING PARSER. 40CHAPTER 5: MESSAGE BUFFERS. 415.1 RECEIVE DATA BUFFER. 415.1.1 Receive Data Buffer Structure. 415.2 TRANSMIT DATA BUFFER (PJSIP TX DATA). 42CHAPTER 6: TRANSPORT LAYER. 436.1 TRANSPORT LAYER DESIGN. 436.1.1 “Class Diagram”. 436.1.2 Transport Manager.436.1.3 Transport Factory.446.1.4 Transport . 446.2 USING TRANSPORTS. 466.2.1 Function Reference. 466.3 EXTENDING TRANSPORTS. 466.4 INITIALIZING TRANSPORTS.466.4.1 UDP Transport Initialization. 476.4.2 TCP Transport Initialization. 476.4.3 TLS Transport Initialization. 476.4.4 SCTP Transport Initialization. 47CHAPTER 7: SENDING MESSAGES. 487.1 SENDING MESSAGES OVERVIEW. 487.1.1 Creating Messages. 487.1.2 Sending Messages. 487.2 FUNCTION REFERENCE.497.2.1 Sending Response. 497.2.2 Sending Request. 507.2.3 Stateless Proxy Forwarding. 527.3 EXAMPLES. 537.3.1 Sending Responses. 537.3.2 Sending Requests. 547.3.3 Stateless Forwarding. 55CHAPTER 8: TRANSACTIONS. 568.1 DESIGN. 568.1.1 Introduction. 568.1.2 Timers and Retransmissions. 568.1.3 INVITE Final Response and ACK Request.568.1.4 Incoming ACK Request. 578.1.5 Server Resolution and Transports. 578.1.6 Via Header. 588.2 REFERENCE.588.2.1 Base Functions. 588.2.2 Composite Functions. 598.3 SENDING STATEFULL RESPONSES. 608.3.1 Usage Examples. 608.4 SENDING STATEFULL REQUEST. 608.4.1 Usage Examples. 618.5 STATEFULL PROXY FORWARDING. 618.5.1 Usage Examples. 61CHAPTER 9: AUTHENTICATION FRAMEWORK.63Page 5

PJSIP Developer’s Guide9.1 CLIENT AUTHENTICATION FRAMEWORK. 639.1.1 Client Authentication Framework Reference. 639.1.2 Examples. 649.2 SERVER AUTHORIZATION FRAMEWORK. 659.2.1 Server Authorization Reference. 659.3 EXTENDING AUTHENTICATION FRAMEWORK. 67CHAPTER 10: BASIC USER AGENT LAYER (UA). 6810.1 BASIC DIALOG CONCEPT. 6810.1.1 Dialog Sessions.6810.1.2 Dialog Usages. 6810.1.3 Dialog Set. 6910.1.4 Client Authentication. 6910.1.5 Class Diagram. 6910.1.6 Forking. 7010.1.7 CSeq Sequencing. 7210.1.8 Transactions. 7210.2 BASIC UA API REFERENCE. 7310.2.1 User Agent Module API. 7310.2.2 Dialog Structure. 7310.2.3 Dialog Creation API. 7410.2.4 Dialog Termination. 7410.2.5 Dialog Session Management API. 7510.2.6 Dialog Usages API. 7510.2.7 Dialog Request and Response API. 7510.2.8 Dialog Auxiliary API. 7610.3 EXAMPLES. 7810.3.1 Invite UAS Dialog. 7810.3.2 Outgoing Invite Dialog. 8010.3.3 Terminating Dialog.

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 .

Related Documents:

Changes in Oracle SQL Developer Release 18.1 xlviii 1 SQL Developer Concepts and Usage 1.1 About SQL Developer 1-2 1.2 Installing and Getting Started with SQL Developer 1-2 1.3 SQL Developer User Interface 1-3 1.3.1 Menus for SQL Developer

Developer,Java Developer fresher from UPTU looking for Android App Developer job. . s Resume 1.07 Android Developer Gurgaon 47221857 Manas Ranjan SOFTWARE DEVELOPER 1.02 Delhi 47421087 Pankaj Kumar Software developer/ Android /Java 1.00 Noi

INSTEON Developer’s Guide The book-length INSTEON Developer’s Guide, 2 nd Edition is the primary source for the information contained in this (much shorter) INSTEON Hub Developer’s Guide . Some links in this document refer to information found there. Developers who purchase an INSTEON Software Developer’s Kit may download

the developer kit. Without a jumper, the developer kit can be powered by J28 Micro-USB connector. With a jumper, no power is drawn from J28 , and the developer kit can be powered via J25 power jack. Power Guide Jetson Nano Developer Kit requires a 5V power supply capable of supplying 2A current. Micro-USB Power Supply Options

xii Oracle Workflow Developer's Guide Audience for This Guide Welcome to the Oracle Workflow Developer's Guide. This guide assumes you have a working knowledge of the following: The principles and customary practices of your business area. Oracle Workflow Oracle Workflow Developer's Guide. Workflow.

3. TIF can be an indirect benefit to a developer of a project. TIF can indirectly result in flowing economic benefit to a developer by financing improvements desired by the developer or which the developer would otherwise have to finance, or by reducing the developer’s lease rentals, etc. C. Ohio Tax Increment Financing Programs. 1.

Hive, Splunk, Pentaho, Power BI - Microsoft Business Intelligence, QlikView, MicroStrategy, Informatica) Web Technologies ASP.NET / C# / VB.NET Developer, Classic ASP Developer, Java / J2EE Developer, PHP Developer Frontend Developer (jQuery / Angular / React JS /Vue.js / etc.

MS Exemplar Unit English Language Arts Grade 2 Edition 1 Design Overview The MS CCRS Exemplar Units for ELA and mathematics address grade-level specific standards for Pre-Kindergarten-8th grade, as well as for Algebra, English I, and English II. The overall unit plan is described in the first section of the ELA and math units. This section .