[jitsi-dev] Custom client fails to parse jingle session-initiate with new jicofo


#1

After updating jicofo to build 414 and videobridge to build 1062 we are seeing a problem with our custom client parsing the jingle session-initiate message. Our client uses stanza.io to parse xmpp and it looks like the content elements in the group element now have a "urn:xmpp:jingle:1" namespace where before they had no namespace (stanza used to associate those with the namespace of the group element). According the group XEP there usually isn't a namespace on the content elements (https://xmpp.org/extensions/xep-0338.html). We've tried to see what is adding that namespace but haven't been able to track it down. Any ideas?

New group element
<group xmlns="urn:xmpp:jingle:apps:grouping:0" semantics="BUNDLE">
    <content xmlns="urn:xmpp:jingle:1" name="audio" />
    <content xmlns="urn:xmpp:jingle:1" name="video" />
    <content xmlns="urn:xmpp:jingle:1" name="data" />
</group>

Old group element
<group xmlns="urn:xmpp:jingle:apps:grouping:0" semantics="BUNDLE">
    <content name="audio" />
    <content name="video" />
    <content name="data" />
</group>

Devin Wilson
Senior Software Engineer

T (303) 209-1506
ReadyTalk | 1900 16th Street, Suite 600 | Denver, CO 80202

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.


#2

Hi,

This happened during the migration to smack4, I think. The namespace
comes from here:
https://github.com/jitsi/jitsi/blob/c7affc28a450a8f715683aa2ae0f60012ab8a174/src/net/java/sip/communicator/impl/protocol/jabber/extensions/jingle/ContentPacketExtension.java#L40

Regards
damencho

···

On Mon, Jun 11, 2018 at 5:02 PM Devin Wilson <devin.wilson@foxden.io> wrote:

After updating jicofo to build 414 and videobridge to build 1062 we are seeing a problem with our custom client parsing the jingle session-initiate message. Our client uses stanza.io to parse xmpp and it looks like the content elements in the group element now have a "urn:xmpp:jingle:1" namespace where before they had no namespace (stanza used to associate those with the namespace of the group element). According the group XEP there usually isn’t a namespace on the content elements (https://xmpp.org/extensions/xep-0338.html). We’ve tried to see what is adding that namespace but haven’t been able to track it down. Any ideas?

New group element

<group xmlns="urn:xmpp:jingle:apps:grouping:0" semantics="BUNDLE">

    <content xmlns="urn:xmpp:jingle:1" name="audio" />

    <content xmlns="urn:xmpp:jingle:1" name="video" />

    <content xmlns="urn:xmpp:jingle:1" name="data" />

</group>

Old group element

<group xmlns="urn:xmpp:jingle:apps:grouping:0" semantics="BUNDLE">

    <content name="audio" />

    <content name="video" />

    <content name="data" />

</group>

Devin Wilson

Senior Software Engineer

T (303) 209-1506

ReadyTalk | 1900 16th Street, Suite 600 | Denver, CO 80202

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived.

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev


#3

Ah, yep. I think I was looking in a different branch. Do you know why the jingle namespace was added since its non-standard (as far as I can tell) and can it be removed? I copied Ingo as well since he made that change.

Devin

···

-----Original Message-----
From: dev [mailto:dev-bounces@jitsi.org] On Behalf Of Damian Minkov
Sent: Monday, June 11, 2018 9:17 PM
To: Jitsi Developers
Subject: Re: [jitsi-dev] Custom client fails to parse jingle session-initiate with new jicofo

Hi,

This happened during the migration to smack4, I think. The namespace
comes from here:
https://github.com/jitsi/jitsi/blob/c7affc28a450a8f715683aa2ae0f60012ab8a174/src/net/java/sip/communicator/impl/protocol/jabber/extensions/jingle/ContentPacketExtension.java#L40

Regards
damencho

On Mon, Jun 11, 2018 at 5:02 PM Devin Wilson <devin.wilson@foxden.io> wrote:

After updating jicofo to build 414 and videobridge to build 1062 we are seeing a problem with our custom client parsing the jingle session-initiate message. Our client uses stanza.io to parse xmpp and it looks like the content elements in the group element now have a "urn:xmpp:jingle:1" namespace where before they had no namespace (stanza used to associate those with the namespace of the group element). According the group XEP there usually isn’t a namespace on the content elements (https://xmpp.org/extensions/xep-0338.html). We’ve tried to see what is adding that namespace but haven’t been able to track it down. Any ideas?

New group element

<group xmlns="urn:xmpp:jingle:apps:grouping:0" semantics="BUNDLE">

    <content xmlns="urn:xmpp:jingle:1" name="audio" />

    <content xmlns="urn:xmpp:jingle:1" name="video" />

    <content xmlns="urn:xmpp:jingle:1" name="data" />

</group>

Old group element

<group xmlns="urn:xmpp:jingle:apps:grouping:0" semantics="BUNDLE">

    <content name="audio" />

    <content name="video" />

    <content name="data" />

</group>

Devin Wilson

Senior Software Engineer

T (303) 209-1506

ReadyTalk | 1900 16th Street, Suite 600 | Denver, CO 80202

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived.

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

_______________________________________________
dev mailing list
dev@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/dev

Disclaimer

The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.

This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business. Providing a safer and more useful place for your human generated data. Specializing in; Security, archiving and compliance. To find out more visit the Mimecast website.


#4

Ah, yep. I think I was looking in a different branch. Do you know why the
jingle namespace was added since its non-standard (as far as I can tell) and
can it be removed? I copied Ingo as well since he made that change.

In this specific case I don't remember anymore since we're writing the XML ourselves. I doubt that I have added it just in case though, because Smack (since 4.x) generally _requires_ a namespace.

There's apparently two use cases for the ContentPacketExtension:
- <group...><content.../></group> (XEP-0338)
- <jingle...><content.../></jingle> (XEP-0166)

My changes are correct for XEP-0166, but for some reason XEP-0338 puts the group-element into a different namespace. So the correct approach is probably to specify the namespace in the constructor of the ContentPacketExtension, depending on where the element is used.
You can try removing it (i.e. make the namespace null as before), but make sure all unit tests of the Videobridge, Jicofo, Jicoco and Jigasi pass.

Devin

Ingo

PS: I'm still reading the list.


#5

Ok, we will try setting it back to null and see what happens. In any examples of jingle messages I have seen, the content elements in the raw xmpp don’t have a namespace on them because they effectively inherit the namespace of their parent element (jingle or group).

It looks like the smack4-2 branch in the jitsi repo is the one the videobridge and the other components are using, is that correct?

Devin


#6

One of the guys on my team tried removing the namespace and all the tests pass for the 4 repos you mentioned using that patched jitsi. Here is his pull request. https://github.com/jitsi/jitsi/pull/498