Skip to main content

Typed async client for the Janus SIP plugin

Project description

janus-sip-plugin

An independently installable, fully typed async client for janus.plugin.sip. It depends on janus-api-core and does not install any other named Janus plugin.

from janus_api.models.base import Jsep
from janus_sip_plugin import SipPlugin

sip = SipPlugin(session=session)
await sip.attach()
await sip.register_account(
    "sip:alice@example.com",
    secret="password",
    proxy="sip:registrar.example.com",
)
await sip.call(
    "sip:bob@example.com",
    Jsep(type="offer", sdp=offer_sdp),
)

Registration validates SIP/SIPS URIs, authentication choice, guest/helper semantics, transport conflicts, and registration lifetime. A normal account requires exactly one of secret and ha1_secret; authuser overrides the URI username for digest authentication. Guest calls can provide credentials on the call request. Helpers use the master account's returned master_id.

The client covers every documented SIP operation: registration, calls, offerless-invite progress/accept flows, renegotiation, decline/hangup, hold/unhold, MESSAGE, INFO/DTMF, subscriptions, blind/attended transfers, recording, keyframes, and RTP forwarders. JSEP remains in the outer Janus envelope and is never mixed into plugin data; update() automatically marks its JSEP as a Janus renegotiation. RTP-forwarder helpers expose the optional unique_id and configured admin_key controls from the current gateway.

Models follow the official SIP API and the current Janus implementation. Outbound objects reject unknown fields; inbound events retain future fields and unknown event variants.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

janus_sip_plugin-3.0.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

janus_sip_plugin-3.0.0-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file janus_sip_plugin-3.0.0.tar.gz.

File metadata

  • Download URL: janus_sip_plugin-3.0.0.tar.gz
  • Upload date:
  • Size: 14.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for janus_sip_plugin-3.0.0.tar.gz
Algorithm Hash digest
SHA256 cf0a254e75cb639b53996e38ef11f5c3fcc9c6f548156dfda2189bbe41085a59
MD5 f6ea6c7ff4f936607ae1c5bc3c50404b
BLAKE2b-256 f1501ab37530405325e57eb6c2d064db82bbea40e21d785be1183a612817af5c

See more details on using hashes here.

File details

Details for the file janus_sip_plugin-3.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for janus_sip_plugin-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21835eb8f60d8a9637873266c71c59cbc9266343b74fcbbe8f9cfd3af12618f0
MD5 84713a195f9602ef37f275fc9e34d39b
BLAKE2b-256 f8465ce1c4bf409b8f50c7318494738c7997a644a08d553f3e81e575119f73b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page