Example #1
0
    def __init__(self, client):
        gobject.GObject.__init__(self)
        Timer.__init__(self)

        self._client = client
        self._transport = SIPTunneledTransport(client._protocol)
        self._transaction_layer = SIPTransactionLayer(self._transport)
        self._transaction_layer.connect("request-received",
                                        self._on_request_received)
        self._transaction_layer.connect("response-received",
                                        self._on_response_received)
        self._transaction_layer.connect("error",
                                        self._on_transaction_layer_error)

        self._supported_methods = set([
            "INVITE", "ACK", "CANCEL", "BYE", "OPTIONS", "INFO", "UPDATE",
            "REFER", "NOTIFY", "BENOTIFY"
        ])
        self._supported_extensions = set(init_extensions(client, self))
        self._supported_content_types = set(["application/sdp"])

        self._dialogs = {}  # (call-id, local-tag, remote-tag) => dialog
        self._dialog_handles = {}  # dialog => handle id