Monday, May 06, 2013
xsf@muc.xmpp.org
May
Mon Tue Wed Thu Fri Sat Sun
    1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
   
             
XSF Discussion | Logs: http://logs.xmpp.org/xsf/ | Agenda https://trello.com/b/Dn6IQOu0/board-meetings

[00:45:40] *** Jef shows as "away" and his status message is " (Away as a result of being idle more than 5 min)"
[00:46:05] *** Jef shows as "online"
[01:05:50] *** Neustradamus has left the room
[01:17:54] *** stpeter has joined the room
[01:20:23] *** Jef shows as "away" and his status message is " (Away as a result of being idle more than 5 min)"
[01:24:43] *** Jef shows as "online"
[01:30:24] *** Jef has left the room
[01:30:31] *** Jef has joined the room
[01:38:37] *** Lance has joined the room
[01:38:38] *** Lance shows as "online"
[01:55:23] *** Jef has left the room
[01:59:29] *** stpeter has left the room
[02:15:23] *** Lance has left the room
[03:09:29] *** bear has joined the room
[03:09:32] *** bear shows as "dnd" and his status message is "Busy"
[03:58:10] *** J.T has joined the room
[04:02:02] *** J.T has left the room
[04:31:13] *** bear has left the room
[05:35:32] *** bear has joined the room
[05:35:34] *** bear shows as "dnd" and his status message is "Busy"
[06:06:37] *** bear has left the room
[06:33:08] *** Kev shows as "online"
[07:04:06] *** Alex has joined the room
[07:16:26] *** Alex shows as "away" and his status message is "Auto-Status (untätig)"
[07:18:30] *** Alex shows as "online"
[07:59:36] *** Nÿco has joined the room
[08:02:34] *** Nÿco shows as "away" and his status message is " (Absent(e) car inactif depuis plus de 15 min)"
[08:02:43] *** Nÿco shows as "online"
[08:02:51] *** Nÿco shows as "away" and his status message is " (Absent(e) car inactif depuis plus de 15 min)"
[08:04:40] *** Nÿco shows as "online"
[08:24:32] *** Nÿco has left the room
[08:52:13] *** Neustradamus has joined the room
[09:07:57] *** Alex shows as "online"
[09:13:50] *** Neustradamus has left the room
[09:16:03] *** Alex shows as "online"
[09:17:04] *** Neustradamus has joined the room
[09:21:24] *** jabberjocke has joined the room
[09:21:24] *** jabberjocke shows as "online"
[10:02:18] *** Kev shows as "away"
[10:05:48] *** Kev shows as "online"
[10:21:08] *** Kev shows as "away"
[10:22:12] *** Alex shows as "away" and his status message is "Auto-Status (untätig)"
[10:25:07] *** Kev shows as "online"
[10:42:15] *** Alex shows as "xa" and his status message is "Auto-Status (untätig)"
[10:45:44] *** Alex shows as "online"
[10:47:56] *** jabberjocke has left the room
[10:48:27] *** jabberjocke has joined the room
[10:48:27] *** jabberjocke shows as "online"
[11:25:06] *** jabberjocke shows as "online"
[11:25:06] *** jabberjocke shows as "online"
[11:34:01] *** jabberjocke has left the room
[12:07:40] *** Alex shows as "away" and his status message is "Auto-Status (untätig)"
[12:09:51] *** Alex shows as "online"
[12:22:02] *** Nÿco has joined the room
[12:34:17] *** Nÿco has left the room
[12:51:17] *** kevin has joined the room
[13:19:58] *** kevin has left the room
[13:20:38] *** Kev shows as "away"
[13:26:42] *** kevin has joined the room
[13:48:16] *** kevin has left the room
[13:54:47] *** jabberjocke has left the room
[14:27:34] *** jabberjocke has joined the room
[14:27:34] *** jabberjocke shows as "online"
[14:45:19] *** kevin has joined the room
[14:52:39] *** jabberjocke has left the room
[15:09:06] *** kevin has left the room
[15:14:53] *** stpeter has joined the room
[15:20:23] *** kevin has joined the room
[15:23:10] *** Alex has left the room
[15:41:28] *** Ashley has joined the room
[15:41:45] *** Kev shows as "online"
[16:04:38] *** Lance has joined the room
[16:04:38] *** Lance shows as "online"
[16:42:19] *** Ashley shows as "away" and his status message is "Away"
[16:42:32] *** Ashley shows as "online"
[17:04:17] *** Ashley shows as "away" and his status message is "Away"
[17:05:51] *** Ashley shows as "online"
[17:17:11] *** Ashley has left the room
[17:49:55] *** Lance has left the room
[18:08:01] *** Lance has joined the room
[18:08:01] *** Lance shows as "online"
[18:50:36] *** Kev shows as "away"
[18:54:03] *** Kev shows as "online"
[19:05:56] *** stpeter shows as "away" and his status message is "taking a walk"
[19:19:47] *** stpeter has left the room
[19:34:05] *** stpeter has joined the room
[19:50:11] *** Lance has joined the room
[19:50:12] *** Lance shows as "online"
[19:51:22] *** Lloyd has joined the room
[19:55:38] *** jabberjocke has joined the room
[19:55:38] *** jabberjocke shows as "online"
[20:19:06] *** Lloyd has left the room
[20:27:18] <Lance> was there any consensus at the last summit about how to go about dealing with jingle and webrtc? i dont remember
[20:28:44] <Lance> i'm remaking conversat.io using stanza.io instead of socket.io, and im at the point of having to parse and translate SDP. ick
[20:30:15] *** Kev shows as "away"
[20:33:54] *** Neustradamus has joined the room
[20:34:16] <stpeter> ah
[20:34:35] <stpeter> Lance: interesting topic
[20:38:19] <stpeter> Lance: there are several possible approaches
[20:39:04] *** Lance shows as "dnd"
[20:39:07] *** Lance shows as "dnd" and his status message is "brb"
[20:43:04] <stpeter> (1) Jingle as-is, with server-side gateway or translation to SDP
[20:43:35] <stpeter> (2) a new content-type that would allow us to place SDP directly into a Jingle message (instead of the current payload types)
[20:44:07] <stpeter> (3) SIP/SDP over XMPP, a.k.a. SOX (where the SIP headers are probably minimal, what we care about is the SDP)
[20:50:00] *** Lance shows as "online" and his status message is "brb"
[20:50:01] *** Lance shows as "online"
[20:50:05] *** Lance has left the room
[20:50:11] *** Lance has joined the room
[20:50:12] *** Lance shows as "online"
[20:51:32] <Lance> I'd prefer #2, except SDP combines the content and transport description, so we wouldn't be able to use the normal jingle pattern
[20:52:03] <stpeter> right
[20:52:04] *** kevin shows as "online" and his status message is "Server mode."
[20:52:13] <stpeter> it gets ugly
[20:52:17] <Lance> #1 isn't bad IF you have access to the raw data
[20:52:21] <stpeter> no matter which way you go
[20:52:27] <Lance> but the browser doesn't expose that
[20:53:00] <Lance> i'm probably just going to parse the stuff myself and do the translation
[20:53:03] <stpeter> I lean toward #3 despite the fact that it's perhaps the ugliest of the bunch, because I think it would work in all cases (just use XMPP as the transport layer for SIP/SDP)
[20:53:28] <Lance> true
[20:53:36] <Lance> but ugh, so ugly
[20:53:54] <stpeter> yeah
[20:53:58] <stpeter> believe me, I know
[20:53:59] <Lance> and then we're going to want to do data channels over webrtc
[20:54:11] <Lance> so jingle file transfers will have the same problem/solution
[20:54:20] <stpeter> data channels as in screen sharing and the like?
[20:54:32] <Lance> as in sharing raw data
[20:54:36] <stpeter> ah
[20:54:37] <stpeter> ok
[20:54:42] <stpeter> bytestreamy things
[20:54:42] <Lance> you can already do screen sharing via video
[20:54:46] <stpeter> yes
[20:55:46] <Lance> so if we go with SOX to solve the video problem for now, we've doomed jingle to obsolescence
[20:55:56] <stpeter> pretty much, yes :(
[20:56:09] <stpeter> which is why I haven't written it up for general consumption yet
[20:56:35] <stpeter> on the other hand, you can't exactly say that Jingle has taken the world by storm
[20:56:57] <stpeter> and everyone has moved to using SDP, despite the fact that it's icky
[20:57:07] <stpeter> in WebRTC etc.
[20:57:13] <stpeter> so the question is, what do we do?
[20:57:28] <stpeter> server-side gateways and translators have their own challenges
[20:57:39] <stpeter> with state management and such
[20:58:12] <stpeter> so that leaves us with <jingle> wrappers around SDP, or SoX
[20:58:45] <stpeter> #2 does away with most of what is good about Jingle (separation of description from transport)
[20:58:55] <stpeter> and leaves only the barest of the state machine
[20:59:26] <stpeter> and that state machine might not even really apply very well if the payload of the <jingle/> element is SDP
[20:59:42] <stpeter> I haven't worked out that model, but it worries me a bit
[20:59:56] <stpeter> I grant that SOX is utterly ugly, but it's pragmatic
[21:00:04] *stpeter shrugs
[21:02:18] <Lance> at this point, minting a <sdp /> element sounds reasonable. and just iq set back and forth, leaving the state management to whatever SDP processor is in use
[21:02:35] <Lance> which is pretty much exactly the pattern in use for webrtc
[21:03:09] <stpeter> I lean toward <message/> so it can be forked if needed, but right
[21:03:39] <stpeter> IMHO we might need or want to include some minimal SIP headers (e.g., if there's a gateway or translator in the middle it can add a Via header)
[21:03:54] <stpeter> but the SIP headers would pretty much be dummied up
[21:04:50] <Lance> would that really be needed in the content going over xmpp? not added by the receiver?
[21:05:12] <stpeter> I grant that we might want separate <sip/> and <sdp/> elements under the <sox/> element
[21:05:44] <Lance> or
[21:05:46] <Lance> use shim
[21:05:46] *** Neustradamus has joined the room
[21:05:47] <stpeter> well, if we look at SOX as a pure tunneling solution then yes, I think we'd want both SIP and SDP in there
[21:06:17] <stpeter> I freely grant that it's even uglier than sending plain SDP :P
[21:06:25] <stpeter> I need to think about it a bit more
[21:06:42] <Lance> maybe, but it's already there. depends on how many headers you expect to be adding
[21:07:08] <Lance> ^ referring to shim
[21:07:11] <stpeter> ah
[21:08:40] <stpeter> I admit that I haven't thought about using SHIM here
[21:10:29] <Lance> I think I'd prefer it, just to keep the sip an extra arm length's away
[21:10:40] <stpeter> heehee
[21:12:13] <stpeter> in practice, do folks have a standalone SDP library to call, or would they just hand the SIP/SDP off to an RTC library of some kind?
[21:12:25] <Lance> that's what i'm looking up now
[21:12:30] <stpeter> GMTA!
[21:12:39] <stpeter> my sense has been the latter
[21:12:44] <stpeter> but I haven't researched it
[21:14:10] <Lance> not seeing anything noteworthy in python to process SDP
[21:14:34] <Lance> maybe gstreamer
[21:15:20] <stpeter> yeah
[21:15:29] <stpeter> I think most libs bundle SIP and SDP together
[21:15:35] <Lance> yep
[21:15:50] <stpeter> that's what I saw and heard
[21:15:58] <stpeter> which also has led me down the SoX road
[21:16:12] <stpeter> the SoX road is paved with good intentions :-)
[21:16:22] <Lance> certainly
[21:16:39] <stpeter> unfortunately we know where such roads lead ;-)
[21:16:51] <Lance> but it's just a short step to it being SIMPLEoX
[21:17:15] <stpeter> no!
[21:17:21] <stpeter> I disagree
[21:17:41] <stpeter> SoX for audio/video and XMPP for everything else - messaging, presence, etc.
[21:18:31] <Lance> if we can keep it constrained to that, then great
[21:18:32] <stpeter> and that's if you have an XMPP-only endpoint
[21:18:46] <Lance> i just have nightmares of, we're already including these sip headers, just add this other one
[21:19:19] *** kevin shows as "online" and his status message is "Server mode."
[21:19:31] *** kevin shows as "online" and his status message is "Server mode."
[21:19:32] <stpeter> I see the world going to CUSAX -- combined use of SIP and XMPP, with SIP for audio/video and XMPP for messaging, presence, groupchat, etc. -- that's why I've been working on https://datatracker.ietf.org/doc/draft-ivov-xmpp-cusax/
[21:20:34] *** Alex has joined the room
[21:21:31] <stpeter> IMHO, SOX is only for XMPP-only endpoints
[21:21:39] <Lance> right
[21:29:37] *** stpeter shows as "away" and his status message is "wandered off..."
[21:32:08] *** stpeter shows as "online"
[21:36:46] <stpeter> Lance: think about it some more and let me know what conclusions you reach
[21:36:58] <stpeter> Lance: I might need to write up the SoX idea here soon...
[21:37:18] <Lance> stpeter: do you have any examples for what a typical payload would be for sox?
[21:37:26] <stpeter> maybe :-)
[21:37:30] *stpeter fishes around
[21:42:04] *** Kev shows as "online"
[21:42:49] <stpeter> sorry, IRL interrupt
[21:52:57] *** Kev shows as "away"
[21:57:23] <stpeter> ok
[21:57:26] <stpeter> where was I? ;-)
[22:12:43] <stpeter> Lance, you'd probably have something like this...

<message from='romeo@example.net/orchard' to='juliet@example.com'>
<sox xmlns='urn:xmpp:sox:0'>

INVITE sip:juliet@example..com sip/2.0
Via: SIP/2.0/tcp example.net;branch=z9hG4bK1602341dcb7
From: <sip:romeo@example.net>;tag=0019
To: <sip:juliet@example.com>
Contact: <sip:romeo@example.net>;gr=orchard
Call-Info: <xmpp:romeo@example.net>;purpose=impp
Call-ID: 0019aa04-50550007-660c7034-529a811b
Date: Mon, 6 May 2013 21:27:24 GMT
User-Agent: foo
CSeq: 101 INVITE
Max-Forwards: 70
Expires: 180
Allow: ACK,BYE,CANCEL,INVITE
Content-Type: application/sdp
Content-Length: nnnn

v=0
o=<username> <ntp> <ntp> IN IP4 <client_ip>
s=SoX Media Setup
c=IN IP4 <client_ip>
t=0 0
m=audio 9000 RTP/AVP 105 106 121
a=rtpmap:105 opus/48000/2
a=fmtp:105 maxplaybackrate=16000; sprop-maxcapturerate=16000; maxaveragebitrate=24000; stereo=1; useinbandfec=1; usedtx=0
a=rtpmap:106 iLBC/8000
a=ptime:40
a=maxptime:40
a=recv-source 1,2,3
a=rtpmap:121 mix/90000/1
a=fmtp: 121 105/106
a=sendrecv

</sox>
</message>

[22:14:00] <Lance> thanks!
[22:15:11] <stpeter> not sure about the SIP and SDP details
[22:15:17] <stpeter> I'll need to review those more carefully
[22:16:25] <stpeter> might need to at least write up a document this evening, for my own thinking if nothing else
[22:16:37] <stpeter> but for now I need to jet home in time for my next conference call
[22:18:09] <stpeter> well, not *literally* jet of course ;-)
[22:18:35] <Lance> have fun!
[22:19:59] <stpeter> always! ;-)
[22:20:09] *stpeter disappears in a puff of smoke
[22:20:13] *** stpeter has left the room
[22:38:51] *** Jef has joined the room
[22:43:07] *** Jef shows as "online"
[23:01:46] *** Jef shows as "away" and his status message is " (Away as a result of being idle more than 5 min)"
[23:08:32] *** Jef shows as "online"
[23:48:31] *** Lance has left the room