Skip to content

Repository files navigation

sipmessage

License Version Tests Coverage Documentation

The sipmessage project provides a set of Python helpers and structures for parsing and serialising SIP messages. It can be used to manipulate either entire requests and responses or individual header values.

To learn more about sipmessage please read the documentation.

Example

from sipmessage import Message, Parameters, Request, Via

request = Message.parse(
    b"REGISTER sip:atlanta.com SIP/2.0\r\n"
    b"Via: SIP/2.0/WSS mYn6S3lQaKjo.invalid;branch=z9hG4bKgD24yaj\r\n"
    b"Max-Forwards: 70\r\n"
    b"To: <sip:alice@atlanta.com>\r\n"
    b"From: <sip:alice@atlanta.com>;tag=69piINLbAb\r\n"
    b"Call-ID: t87Br1RHAoBz2FsrKKk6hV\r\n"
    b"CSeq: 1 REGISTER\r\n"
    b"Contact: <sip:Mk9sZp5Z@mYn6S3lQaKjo.invalid;transport=ws>;expires=300\r\n"
    b"User-Agent: Tester/0.1.0\r\n"
    b"Content-Length: 0\r\n\r\n"
)
assert isinstance(request, Request)
assert request.via == [
    Via(
        transport="WSS",
        host="mYn6S3lQaKjo.invalid",
        port=None,
        parameters=Parameters(branch="z9hG4bKgD24yaj"),
    )
]

License

sipmessage is released under the BSD license.

About

Python parsing of SIP messages and headers

Topics

Resources

Stars

10 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages