Как реализовать аудио/видеозвонок с расширением Jingle XMPP?

Я уже установил чат через xmpp с сервером openfire, и он работает нормально. Теперь я хочу внедрить аудио/видеозвонок в свое приложение, и я не хочу использовать какие-либо другие сторонние библиотеки/службы, такие как Socket.IO, веб-сокеты и т. д. Я хочу реализовать его с помощью самого расширения jingle XMPP. Я провел много исследований и разработок, но не нашел ничего полезного, и я не знаю, с чего начать.

Итак, если кто-то уже реализовал это, не могли бы вы предоставить мне пример или демонстрацию?

я попытался инициировать сеанс, создав запрос iq, но похоже, что он не работает. Ниже приведен мой код для запуска сеанса.

      func initiateSession() {
    
    let iq = XMPPIQ(type: "set", to: XMPPJID(string: "user5@localhost"), elementID: "zid615d9")
    
    let jingle = XMLElement(name: "jingle", xmlns: "urn:xmpp:jingle:1")
    
    jingle.addAttribute(withName: "action", stringValue: "session-initiate")
    jingle.addAttribute(withName: "initiator", stringValue: "user8@localhost")
    jingle.addAttribute(withName: "sid", stringValue: "a73sjjvkla37jfea")
    

    let iqProperties = XMLElement(name: "content")
    iqProperties.addAttribute(withName: "creator", stringValue: "initiator")
    iqProperties.addAttribute(withName: "name", stringValue: "this-is-a-stub")
    
    iqProperties.addChild(XMLElement(name: "description", xmlns: "urn:xmpp:jingle:apps:stub:0"))
    iqProperties.addChild(XMLElement(name: "transport", xmlns: "urn:xmpp:jingle:transports:stub:0"))

    jingle.addChild(iqProperties)
    
    iq.addChild(jingle)

    xmppStream.send(iq)
}

0 ответов

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