SIPp / sipp

The SIPp testing tool
https://sipp.readthedocs.io
Other
918 stars 379 forks source link

Support SIP over WebSockets (rfc7118) #124

Open Lekensteyn opened 9 years ago

Lekensteyn commented 9 years ago

Originally requested in http://sourceforge.net/p/sipp/feature-requests/33/ for draft-ietf-sipcore-sip-websocket, now actually available as RFC 7118.

This would be useful for testing real-world scenarios which operate over WSS.

Has anyone been working on this?

wdoekes commented 9 years ago

I don't think anyone has. Feel free to start working on it. Thanks!

hpaskalev commented 9 years ago

If no one is working on this I think of giving it a try. I have some experience with WS already. Or maybe I could take a stab at synchronous audio and video play.

Lekensteyn commented 9 years ago

The only change I have so far is: https://github.com/CodeYellowBV/sipp/tree/websockets https://github.com/CodeYellowBV/sipp/commit/8fbef73018fd3022bb94ccf377216650f3c3c2db

As the commit says, use an existing library or write one ourselves? As for debugging the traffic, use the 1.99.x development version of Wireshark for improved Websockets dissection.

hpaskalev commented 9 years ago

I can't recall standalone library that provides WS. I know WebRTC and reSIProcate have their built-in implementations. Best approach would probably be to look at the RFC and some reference implementation, and then write one ourselves. WS are relatively simple.

Lekensteyn commented 9 years ago

I found at least two libraries last time I checked (back in March), but those were either too bloated or looked too fragile. WS as a transport is simple, but integrating it in sipp can be more work. It should have a comparable complexity to SSL over TCP though. (btw, I am mainly interested in testing WSS instead of unencrypted WS).

moises-silva commented 9 years ago

@Lekensteyn did you look at libwebsockets.org? from briefly looking at the sources looks decent enough to me

hpaskalev commented 9 years ago

Well, I think of giving both WS and WSS a try. We might collaborate on this one. I think I should have something in the following days. Btw, I think of doing the thing from scratch.

hpaskalev commented 9 years ago

I must agree with @moises-silva - at first glance llibwebsockets sure looks promising.

Lekensteyn commented 9 years ago

libwebsockets looks OK. Their commit logs look a bit strange though with improperly applied patches. License is LGPL 2.1 btw and v1.2.2 is packaged since Debian Jessie (and Ubuntu 14.04).

Lekensteyn commented 9 years ago

@hpaskalev Have you made progress on this?

hpaskalev commented 9 years ago

No, I haven't started working on this one yet. I've been busy with other things lately, but I plan to get onto it these days. Are you working on it ?

hotshot47 commented 9 years ago

I am too looking for sipp with ws and wss transport as used extensively for testing our application. Mean while any idea of other available UA supporting websocket apart from js based browser pluggins

Lekensteyn commented 9 years ago

@hpaskalev No time for it unfortunately, so haven't started with it yet :(

hpaskalev commented 9 years ago

Well, I just started working on it. :)

andrewvmail commented 8 years ago

+1

Tanzeel-inline commented 9 months ago

@hotshot47 Were you able to find any application for testing over wss?

Also, I think C++ have mature websocket libraries to integrate sipp over wss