Konnetic
Unity SIP .NET SDK
Programmer's Guide
Version 4.0
February 2011
SIP .NET SDK Programmer's Guide
©
2011 Konnetic Ltd. All Rights Reserved.
Table of Contents
1. Programmer's Guide 1-2
2. Unity SIP .NET SDK 4
2.1. Prerequisites for Unity SIP .NET SDK 4-5
2.2. Redistributable Components for Unity SIP .NET SDK 5
2.3. License Key Information 5-6
2.4. Ordering 6-7
2.5. Legal Information (Unity SIP .NET SDK) 7
2.5.1. License Agreement 7-10
3. Session Initiation Protocol 11
3.1. SIP Entities 11-12
3.2. SIP Messages 12-15
3.3. Anatomy Of A Message 15-16
3.4. Header Fields 16-19
3.5. Call Flow Example 19-21
4. Session Description Protocol 22
4.1. SDP Contents 22-23
4.2. Message Structure 23-25
4.3. SDP Attributes 25-26
4.4. SDP Example 26-29
SIP .NET SDK Programmer's Guide
©
2011 Konnetic Ltd. All Rights Reserved.
5. Introduction to the Library 30-31
5.1. Features 31-32
5.2. RFCs Implemented 32-34
5.3. Terminology 34-36
5.4. Permissions 36-37
5.5. Architecture 37-38
5.5.1. The Exception Model 38-41
5.5.2. Threading Model 41-42
5.5.3. Class Diagrams 42
5.5.3.1. Transaction Class Diagram 42-44
5.5.3.2. Transport Class Diagram 44-46
5.6. Application Programming Interface 46-48
5.7. SIP Transaction Objects 48
5.8. The SIP URI 48-51
5.9. Walkthrough: Initiate a Session 51-55
5.10. Walkthrough: Accept Or Decline A Session Invite 55-57
6. Configuration 58
6.1. Common Client Settings 58-60
6.2. Low-Level Client Settings 60-64
6.3. Internal Settings 64-66
SIP .NET SDK Programmer's Guide
©
2011 Konnetic Ltd. All Rights Reserved.
7. Working with the SipCore 67
7.1. Initialisation 67-69
7.2. Sip Core Behaviours 69-70
7.3. Event Processing 70-73
7.4. Listening For Incoming Messages 73-74
7.5. Sending Messages 74-76
8. Working with Messages and Headers 77-78
8.1. SipMessage 78-79
8.2. Message Types 79-82
8.3. Adding Headers To Messages 82-83
8.4. Headers 83-85
8.5. Compact Form 85-87
9. Working with Transactions 88
9.1. Transaction Entities 88-89
9.2. Transaction Types 89-90
9.3. Methods 90-91
9.4. State Machines 91-95
9.5. Timers 95-96
10. Working with Authentication 97-98
10.1. The Http Digest Authentication Manager 98-99
SIP .NET SDK Programmer's Guide
©
2011 Konnetic Ltd. All Rights Reserved.
10.2. The Authentication Exchange 99-101
11. Working with the Transport Layer 102
11.1. Sip Connections 102-104
11.2. Connection Reuse 104-106
11.3. Introduction to TLS in SIP 106-107
11.4. Event Processing 108-109
11.5. IPv6 109-110
11.6. Transport Buffers 110-112
11.7. Example 112-113
12. Working with SIP DNS 114
12.1. Implementation 114-117
12.2. Configuring DNS 117-118
12.3. The DNS Facade 118
SIP .NET SDK Programmer's Guide
©
2011 Konnetic Ltd. All Rights Reserved.