sip/sip_user_agent library

Pure-Dart SIP user agent.

Implements the subset of RFC 3261 needed to interoperate with the dart-pbx server (see ../../../../lib/handlers/requests_handlers.dart):

  • Transports: WebSocket (ws/wss) and UDP (RFC 3261 §18.1). Selected automatically from the account's serverUri scheme.
  • REGISTER with MD5 / qop=auth digest, expires negotiation, refresh.
  • OPTIONS keep-alive (and answering inbound OPTIONS qualifies).
  • MESSAGE (out-of-dialog).
  • INVITE / 200 OK / ACK / BYE / CANCEL with a real G.711/RTP media session (mic capture + μ-law/A-law encode + RTP send via the pure-Dart packetizer under audio/).
  • RFC 4028 Session Timers: Session-Expires / Min-SE negotiation, re-INVITE refresh at half-interval (when refresher = uac), hard-timeout BYE when refresher = uas and no refresh arrives, 422 Session Interval Too Small handling.

Classes

SipAccount
SipCall
Snapshot of an in-flight or finished call exposed to the UI.
SipTextMessage
SipUserAgent

Enums

CallState
User-visible call lifecycle.
RegistrationState
User-visible registration state.