Theo Zourzouvillys, Lead Architect - VoIP.co.uk.

I am the development lead at VoIP.co.uk. We work on our in-house C++ SIP platform based slightly around the IMS concepts. If you need a SIP developer, you can contact me.


[ SIP Status Codes ] [ SIP Timers ] [ boost ] [ DTMF Standards ]


SIP UA Capabilities File

Our maintained sipuacap.xml file is here.


(Sometimes) SIP related blog

We sometimes blog just here


Specifications (Local)

Core

Core Updates

  • RFC 3853 - S/MIME AES Requirement for SIP
  • RFC 4320 - Actions Addressing Identified Issues with SIP NIST's
  • RFC 5057 - Multiple Dialog Usages in SIP

SDP

  • RFC 4566 - SDP: Session Description Protocol
  • RFC 3264 - SDP Offer/Answer Model
  • RFC 4567 - Key Management Extensiosn for SDP
  • RFC 4568 - SDP Security Descriptiosn for Media Streams
  • RFC 4570 - SDP Source Filters
  • RFC 4574 - SDP Label Attribute

Resource Management

  • RFC 3312 - Integration of Resource Management and SIP
  • RFC 4032 - Update to the SIP preconditions framework

RTP/RTSP

  • RFC 3550 - RTP: A Transport for Real-Time Applications
  • RFC 3605 - Real Time Control Protocol (RTCP)
  • RFC 2833 - RTP Payload for DTMF Digits, Tones, and Signals

Media Control

  • RFC 5022 - Media Server Control Markup Language (MSCML) and Protocol
  • RFC 3525 - MEGACO v1.0 (H.248.1)

DIAMETER

Network

Extension Methods

Event Packages / Event Notification

  • RFC 3842 - Message Waiting Inidication
  • RFC 3856 - Presence
  • RFC 3680 - Registration
  • RFC 4235 - INVITE Initiated Dialog
  • RFC 4575 - Conference State
  • RFC 4730 - Key Press Stimulus (KPML)
  • RFC 4660 - Functional Description of Event Notification Filtering
  • RFC 4661 - XML Based Format for Event Notification Filtering
  • RFC 4662 - SIP Event Notification Extension for Resource Lists

Presencing / PIDF

  • RFC 3856 - Presence Event Package
  • RFC 3857 - Watcher Information Event Template
  • RFC 3858 - XML Based Format for Watcher Information
  • RFC 3859 - Common Profile for Presence
  • RFC 3863 - Presence Information Data Format (PIDF)
  • RFC 3903 - PUBLISH method
  • RFC 4479 - A Data Model for Presence
  • RFC 4480 - RPID: Rich Presence Extensions for PIDF
  • RFC 4481 - Timed Presence Extensions to PIDF
  • RFC 4482 - CIPID: Contact Information for PIDF

Important Drafts

IANA Registry

Document/Storage (e.g XCAP)

Privacy Related

  • RFC 3323 - Privacy Mechanism for SIP
  • RFC 3325 - Private Extensions to SIP for Asserted Identity within Trusted Networks

Transports/Routing

Extension Parameters

Authentication

  • RFC 2617 - Basic + Digest Authentication
  • RFC 4474 - Enhancements for Authenticated Identity Management in SIP
  • RFC 4740 - Diameter SIP Application

Extension Headers

Extension Content Types

Extension Content Dispositions

Conferencing

  • RFC 4579 - SIP Call Control - Conferencing for User Agents
  • RFC 4575 - SIP Event Package for Conference State

Caller Preferences

  • RFC 3840 - Indicating User Agent Capabilities in SIP
  • RFC 3841 - Calller Preferences for SIP
  • RFC 4596 - Guidelines for Usage of SIP Caller Preferences Extension
  • RFC 2533 - Syntax for Media Feature Sets

Misc

  • RFC 1750 - Randomness Recommendations for Security
  • RFC 3725 - Best Current Practices for Third Party Call Control (3pcc) in SIP
  • RFC 3880 - Call Processing Language (CPL): A Language for User Control of Internet Telephony Services
  • RFC 4734 - Modem, Fax, and Text Telephony Events
  • RFC 4733 - Telephony Events and Tones

Extensions


(Possibly) Useful Stuff

None of these items come with no garuntee of working until integrated with a VoIP.co.uk or Synergy Networking product.

Other Stuff

Links mostly for my teams use.

Other

SIP Status Codes

    100 Trying
    180 Ringing
    181 Call Is Being Forwarded
    182 Queued
    183 Session Progress
    200 OK
    202 Accepted                              [RFC3265]
    300 Multiple Choices
    301 Moved Permanently
    302 Moved Temporarily
    305 Use Proxy
    380 Alternative Service
    400 Bad Request
    401 Unauthorized
    402 Payment Required
    403 Forbidden
    404 Not Found
    405 Method Not Allowed
    406 Not Acceptable
    407 Proxy Authentication Required
    408 Request Timeout
    410 Gone
    412 Conditional Request Failed            [RFC3903]
    413 Request Entity Too Large
    414 Request-URI Too Long
    415 Unsupported Media Type
    416 Unsupported URI Scheme
    417 Unknown Resource-Priority             [RFC4412]
    420 Bad Extension
    421 Extension Required
    422 Session Interval Too Small            [RFC4028]
    423 Interval Too Brief
    428 Use Identity Header                   [RFC4474]
    429 Provide Referrer Identity             [RFC3892]
    436 Bad Identity-Info                     [RFC4474]
    437 Unsupported Certificate               [RFC4474]
    438 Invalid Identity Header               [RFC4474]
    480 Temporarily Unavailable
    481 Call/Transaction Does Not Exist
    482 Loop Detected
    483 Too Many Hops
    484 Address Incomplete
    485 Ambiguous
    486 Busy Here
    487 Request Terminated
    488 Not Acceptable Here
    489 Bad Event                             [RFC3265]
    491 Request Pending
    493 Undecipherable
    494 Security Agreement Required           [RFC3329]
    500 Server Internal Error
    501 Not Implemented
    502 Bad Gateway
    503 Service Unavailable
    504 Server Time-out
    505 Version Not Supported
    513 Message Too Large
    580 Precondition Failure                  [RFC3312]
    600 Busy Everywhere
    603 Decline
    604 Does Not Exist Anywhere
    606 Not Acceptable
    

SIP Status Codes

Timer Value Section Meaning
T1 500ms default 7.1.1.1 RTT Estimate
T2 4s 7.1.2.2 The maximum retransmit interval for non-INVITE requests and INVITE responses
T4 5s 7.1.2.2 Maximum duration a message will remain in the network
Timer A initially T1 7.1.1.2 INVITE request retransmit interval, for UDP only
Timer B 64*T1 7.1.1.2 INVITE transaction timeout timer
Timer C > 3min 6.6 (B11) proxy INVITE transaction timeout
Timer D > 32s for UDP 7.1.1.2 Wait time for response for TCP/SCTP retransmits
Timer E initially T1 7.1.2.2 non-INVITE request retransmit interval, UDP only
Timer F 64*T1 7.1.2.2 non-INVITE transaction timeout timer
Timer G initially T1 7.2.1 INVITE response retransmit interval
Timer H 64*T1 7.2.1 Wait time for ACK receipt
Timer I T4 for UDP, 0s for TCP/SCTP 7.2.1 Wait time for ACK retransmits
Timer J 64*T1 for UDP, 0s for TCP/SCTP 7.2.2 Wait time for non-INVITE request retransmits
Timer K T4 for UDP, 0s for TCP/SCTP 7.1.2.2 Wait time for response retransmits

IST SM

                               |INVITE
                               |pass INV to TU
            INVITE             V send 100 if TU won't in 200ms
            send response+-----------+
                +--------|           |--------+101-199 from TU
                |        | Proceeding|        |send response
                +------->|           |<-------+
                         |           |          Transport Err.
                         |           |          Inform TU
                         |           |--------------->+
                         +-----------+                |
            300-699 from TU |     |2xx from TU        |
            send response   |     |send response      |
                            |     +------------------>+
                            |                         |
            INVITE          V          Timer G fires  |
            send response+-----------+ send response  |
                +--------|           |--------+       |
                |        | Completed |        |       |
                +------->|           |<-------+       |
                         +-----------+                |
                            |     |                   |
                        ACK |     |                   |
                        -   |     +------------------>+
                            |        Timer H fires    |
                            V        or Transport Err.|
                         +-----------+  Inform TU     |
                         |           |                |
                         | Confirmed |                |
                         |           |                |
                         +-----------+                |
                               |                      |
                               |Timer I fires         |
                               |-                     |
                               |                      |
                               V                      |
                         +-----------+                |
                         |           |                |
                         | Terminated|<---------------+
                         |           |
                         +-----------+
  

NIST SM

                                  |Request received
                                  |pass to TU
                                  V
                            +-----------+
                            |           |
                            | Trying    |-------------+
                            |           |             |
                            +-----------+             |200-699 from TU
                                  |                   |send response
                                  |1xx from TU        |
                                  |send response      |
                                  |                   |
               Request            V      1xx from TU  |
               send response+-----------+send response|
                   +--------|           |--------+    |
                   |        | Proceeding|        |    |
                   +------->|           |<-------+    |
            +<--------------|           |             |
            |Trnsprt Err    +-----------+             |
            |Inform TU            |                   |
            |                     |                   |
            |                     |200-699 from TU    |
            |                     |send response      |
            |  Request            V                   |
            |  send response+-----------+             |
            |      +--------|           |             |
            |      |        | Completed |<------------+
            |      +------->|           |
            +<--------------|           |
            |Trnsprt Err    +-----------+
            |Inform TU            |
            |                     |Timer J fires
            |                     |-
            |                     |
            |                     V
            |               +-----------+
            |               |           |
            +-------------->| Terminated|
                            |           |
                            +-----------+
  

ICT SM


                               |INVITE from TU
             Timer A fires     |INVITE sent
             Reset A,          V                      Timer B fires
             INVITE sent +-----------+                or Transport Err.
               +---------|           |---------------+inform TU
               |         |  Calling  |               |
               +-------->|           |-------------->|
                         +-----------+ 2xx           |
                            |  |       2xx to TU     |
                            |  |1xx                  |
    300-699 +---------------+  |1xx to TU            |
   ACK sent |                  |                     |
resp. to TU |  1xx             V                     |
            |  1xx to TU  -----------+               |
            |  +---------|           |               |
            |  |         |Proceeding |-------------->|
            |  +-------->|           | 2xx           |
            |            +-----------+ 2xx to TU     |
            |       300-699    |                     |
            |       ACK sent,  |                     |
            |       resp. to TU|                     |
            |                  |                     |
            |  300-699         V                     |
            |  ACK sent  +-----------+Transport Err. |
            |  +---------|           |Inform TU      |
            |  |         | Completed |-------------->|
            |  +-------->|           |               |
            |            +-----------+               |
            |              ^   |                     |
            |              |   | Timer D fires       |
            +--------------+   | -                   |
                               |                     |
                               V                     |
                         +-----------+               |
                         |           |               |
                         | Terminated|<--------------+
                         |           |
                         +-----------+
  

NICT SM

                                   |Request from TU
                                   |send request
               Timer E             V
               send request  +-----------+
                   +---------|           |-------------------+
                   |         |  Trying   |  Timer F          |
                   +-------->|           |  or Transport Err.|
                             +-----------+  inform TU        |
                200-699         |  |                         |
                resp. to TU     |  |1xx                      |
                +---------------+  |resp. to TU              |
                |                  |                         |
                |   Timer E        V       Timer F           |
                |   send req +-----------+ or Transport Err. |
                |  +---------|           | inform TU         |
                |  |         |Proceeding |------------------>|
                |  +-------->|           |-----+             |
                |            +-----------+     |1xx          |
                |              |      ^        |resp to TU   |
                | 200-699      |      +--------+             |
                | resp. to TU  |                             |
                |              |                             |
                |              V                             |
                |            +-----------+                   |
                |            |           |                   |
                |            | Completed |                   |
                |            |           |                   |
                |            +-----------+                   |
                |              ^   |                         |
                |              |   | Timer K                 |
                +--------------+   | -                       |
                                   |                         |
                                   V                         |
                             +-----------+                   |
                             |           |                   |
                             | Terminated|<------------------+
                             |           |
                             +-----------+