Быстрое подключение iOS и РЕГИСТРАЦИЯ на SIP-сервере

Используя URLSessionWebSocketTask, я могу подключиться к моему SIP-серверу следующим образом:

      var request: URLRequest = URLRequest(url: url)

request.addValue("websocket", forHTTPHeaderField: "Upgrade")
request.addValue("sip", forHTTPHeaderField: "Sec-WebSocket-Protocol")
request.addValue("permessage-deflate; client_max_window_bits", forHTTPHeaderField: "Sec-WebSocket-Extensions")
request.addValue("13", forHTTPHeaderField: "Sec-WebSocket-Version")
request.addValue(key, forHTTPHeaderField: "Sec-WebSocket-Key")
request.httpMethod = "GET"

socketTask = session?.webSocketTask(with: request)
socketTask?.resume()

а затем, когда срабатывает метод делегата ....

      func urlSession(_ session: URLSession, webSocketTask: URLSessionWebSocketTask, didOpenWithProtocol protocol: String?) {}

Я отправляю это сообщение РЕГИСТРАТОР:

          REGISTER sip:\(host) SIP/2.0
    Via: SIP/2.0/WSS ij5094obipus.invalid;branch=\(branch)
    Max-Forwards: 69
    To: <sip:\(username)@\(host)>
    From: <sip:\(username)@\(host)>;tag=\(tag)
    Call-ID: \(callID)
    CSeq: 2 REGISTER
    Contact: <sip:pqqr773g@3tb56aj0gkb8.invalid;transport=ws>;+sip.ice;reg-id=1;+sip.instance="<urn:uuid:\(uuid)>";expires=60

    Expires: 60
    Allow: INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO,NOTIFY
    Supported: path,gruu,outbound
    User-Agent: CoNameWebRTC-v1.5
    Content-Length: 0

Но на самом деле я никогда не получаю правильное сообщение 401 от сервера - я не получаю сообщений от сервера, а затем мой веб-сокет закрывается через 30 секунд.

Кто-нибудь знает, как использовать SIP-сервер с URLSessionWebSocketTask?

0 ответов

Другие вопросы по тегам