Documentation

Documentation.Tutorials-WebSocket History

Hide minor edits - Show changes to markup

July 02, 2013, at 10:48 AM by 109.99.235.212 -
Changed line 36 from:

OverSIP has two basic configuration files that will need to be changed in order :

to:

OverSIP has two basic configuration files that will need to changed in order to achieve our desired functionality :

July 02, 2013, at 10:47 AM by 109.99.235.212 -
Changed line 52 from:
  • If you are using a pre 1.3.8 version, you need to edit the file and add request.fix_nat right after the def (OverSIP::SipEvents).on_request request line - basically we're forcing OverSIP to consider all requests as NAT-ed ( since we'll be using it only for Websocket clients, and they are considered NATed by default due to browser considerations )
to:
  • If you are using a pre 1.3.8 OverSIP version, you need to edit the file and add request.fix_nat right after the def (OverSIP::SipEvents).on_request request line - basically we're forcing OverSIP to consider all requests as NAT-ed ( since we'll be using it only for Websocket clients, and they are considered NATed by default due to browser considerations )
July 02, 2013, at 10:47 AM by 109.99.235.212 -
Changed lines 50-51 from:

server.rb ( by default located in /etc/oversip/server.rb ) contains the actual routing logic for the OverSIP server - written in Ruby. The default server.rb script is suitable for the purpose of WS to SIP gateway, so you shouldn't do any changes to it, with one single exception : \\

to:

server.rb ( by default located in /etc/oversip/server.rb ) contains the actual routing logic for the OverSIP server - written in Ruby. The default server.rb script is suitable for the purpose of WS to SIP gateway, so you shouldn't do any changes to it, with one single exception :

July 02, 2013, at 10:46 AM by 109.99.235.212 -
Changed lines 51-52 from:

If you are using a pre 1.3.8 version, you need to edit the file and add request.fix_nat right after the def (OverSIP::SipEvents).on_request request line - basically we're forcing OverSIP to consider all requests as NAT-ed ( since we'll be using it only for Websocket clients, and they are considered NATed by default due to browser considerations )

to:
  • If you are using a pre 1.3.8 version, you need to edit the file and add request.fix_nat right after the def (OverSIP::SipEvents).on_request request line - basically we're forcing OverSIP to consider all requests as NAT-ed ( since we'll be using it only for Websocket clients, and they are considered NATed by default due to browser considerations )
July 02, 2013, at 10:46 AM by 109.99.235.212 -
Changed lines 38-39 from:

oversip.conf contains the Main Configuration part of the server ( no routing logic here - just configuration parameters ).

to:

oversip.conf ( by default located in /etc/oversip/oversip.conf ) contains the Main Configuration part of the server ( no routing logic here - just configuration parameters ).

Changed lines 50-51 from:

server.rb contains the actual routing logic for the OverSIP server - written in Ruby. The default server.rb script is suitable for the purpose of WS to SIP gateway, so you shouldn't do any changes to it, with one single exception :

to:

server.rb ( by default located in /etc/oversip/server.rb ) contains the actual routing logic for the OverSIP server - written in Ruby. The default server.rb script is suitable for the purpose of WS to SIP gateway, so you shouldn't do any changes to it, with one single exception :

Changed line 70 from:

Assuming that we have an account on our OpenSIPS box with the opensips-domain.com domain, and that our OverSIP is listening on IP 192.168.2.13 port 10080 for Websocket traffic, here are two screenshots that show the proper configuration of sipML5 for the SIP user configuration and for the WebSocket server configuration ( accessible from the expert mode options of sipML5 )

to:

Assuming that we have an account on our OpenSIPS box with the opensips-domain.com domain, and that our OverSIP is listening on IP 192.168.2.13 port 10080 for WebSocket traffic, here are two screenshots that show the proper configuration of sipML5 for the SIP user configuration and for the WebSocket server configuration ( accessible from the expert mode options of sipML5 )

July 02, 2013, at 10:43 AM by 109.99.235.212 -
Changed lines 20-21 from:
  • For the SIP client for testing purposes, we will be using sipML5 - The client's media stack relies on WebRTC and the client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages. sipML5 is open source and the installation is very straight-forward. Furthermore, sipML5 should work on any web browser supporting WebRTC but we highly recommend using Google Chrome or Firefox Nightly for testing.

sipML5 can be downloaded here and installation is very straight-forward : just copy the sources to your /var/www/ folder.

to:
  • For the SIP client for testing purposes, we will be using sipML5 . It can be downloaded from here and installation is very straight-forward : just copy the sources to your /var/www/ folder. The client's media stack relies on WebRTC and the client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages. Furthermore, sipML5 should work on any web browser supporting WebRTC but we highly recommend using Google Chrome or Firefox Nightly for testing.
July 02, 2013, at 10:42 AM by 109.99.235.212 -
Deleted line 20:
July 02, 2013, at 10:41 AM by 109.99.235.212 -
Deleted lines 20-21:

\\

July 02, 2013, at 10:41 AM by 109.99.235.212 -
Added lines 21-24:


sipML5 can be downloaded here and installation is very straight-forward : just copy the sources to your /var/www/ folder.

July 01, 2013, at 07:10 PM by 109.99.235.212 -
Changed line 6 from:

The Problem

to:

Introduction

July 01, 2013, at 07:09 PM by 109.99.235.212 -
Changed line 70 from:

Assuming that we have an account on our OpenSIPS box with the opensips-domain.com domain, and that our OverSIP is listening on IP 192.168.2.13 port 10080 for Websocket traffic, below are two screenshots that show the proper configuration of sipML5

to:

Assuming that we have an account on our OpenSIPS box with the opensips-domain.com domain, and that our OverSIP is listening on IP 192.168.2.13 port 10080 for Websocket traffic, here are two screenshots that show the proper configuration of sipML5 for the SIP user configuration and for the WebSocket server configuration ( accessible from the expert mode options of sipML5 )

July 01, 2013, at 06:53 PM by 109.99.235.212 -
Changed lines 26-27 from:

OpenSIPS will have to be configured with NAT support. If you do not have NAT support in your OpenSIPS script, or if you want to generate a brand new script, you should use the menuconfig tool and generate a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

to:

OpenSIPS will have to be configured with NAT support. If you do not have NAT support in your OpenSIPS script, or if you want to generate a brand new script, you should use the menuconfig tool and generate a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page


Added lines 54-55:


Added lines 71-72:

\\

July 01, 2013, at 06:52 PM by 109.99.235.212 -
Changed lines 26-27 from:

OpenSIPS will have to be configured with NAT support. If you do not have NAT support in your OpenSIPS script, or if you want to generate a brand new script, you should use the menuconfig tool and generate a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

to:

OpenSIPS will have to be configured with NAT support. If you do not have NAT support in your OpenSIPS script, or if you want to generate a brand new script, you should use the menuconfig tool and generate a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

Changed lines 52-53 from:
  • TODO - Test & Upload very basic script files
to:

Here you will find attached an oversip.conf file that works well with our scenario. The config file assumes that OverSIP will listen on 192.168.2.13

Added lines 65-66:

Assuming that we have an account on our OpenSIPS box with the opensips-domain.com domain, and that our OverSIP is listening on IP 192.168.2.13 port 10080 for Websocket traffic, below are two screenshots that show the proper configuration of sipML5

July 01, 2013, at 06:49 PM by 109.99.235.212 -
Changed line 28 from:
  • TODO - Test & Upload very basic script file
to:

Here you will find attached a very basic OpenSIPS Residential script with NAT support that should work very well for our scenario.

June 21, 2013, at 05:19 PM by 109.99.235.212 -
Changed line 62 from:

Then simply insert your OpenSIPS server credentials and hit login. You should then be able to call other users registered on a webRTC capable SIP client.

to:

Then simply insert your OpenSIPS username credentials and hit login. You should then be able to call other users registered on a webRTC capable SIP client.

June 21, 2013, at 05:17 PM by 109.99.235.212 -
Changed lines 28-29 from:
  • Test & Upload very basic script file
to:
  • TODO - Test & Upload very basic script file
Changed line 52 from:
  • Test & Upload very basic script files
to:
  • TODO - Test & Upload very basic script files
June 21, 2013, at 05:16 PM by 109.99.235.212 -
Changed line 26 from:

OpenSIPS will have to be configured with NAT support. If you want to generate a brand new script, that can be accomplished by using the menuconfig tool and generating a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

to:

OpenSIPS will have to be configured with NAT support. If you do not have NAT support in your OpenSIPS script, or if you want to generate a brand new script, you should use the menuconfig tool and generate a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

June 21, 2013, at 05:14 PM by 109.99.235.212 -
Changed line 13 from:

Secondly, the solution uses entirely open source components ( both for the server and the client side ) - which give you great flexibility on the server side, as well as on the client side - since you can easily integrate the client into your existing client portals.

to:

Secondly, the solution uses entirely open source components ( both for the server and the client side ) - which gives you great flexibility on the server side, as well as on the client side - since you can easily integrate the client into your existing client portals.

June 21, 2013, at 05:14 PM by 109.99.235.212 -
Changed line 8 from:

The purpose of this tutorial is to show how to add WebRTC functionalities to any existing OpenSIPS deployment very easily.

to:

The purpose of this tutorial is to show how to easily add WebRTC functionalities to any existing OpenSIPS deployment.

June 21, 2013, at 05:13 PM by 109.99.235.212 -
Added lines 5-13:

The Problem

The purpose of this tutorial is to show how to add WebRTC functionalities to any existing OpenSIPS deployment very easily.


The solution below requires no changes at all on the OpenSIPS side ( because it relies on a WebSocket to SIP gateway ), thus it can be easily integrated with 0 side-effects to your existing deployment. Secondly, the solution uses entirely open source components ( both for the server and the client side ) - which give you great flexibility on the server side, as well as on the client side - since you can easily integrate the client into your existing client portals.

June 21, 2013, at 05:07 PM by 109.99.235.212 -
Changed lines 53-57 from:

Then simply insert your OpenSIPS server credentials and hit login. You should then be able to call other users registered on a webRTC capable SIP client.

to:

Then simply insert your OpenSIPS server credentials and hit login. You should then be able to call other users registered on a webRTC capable SIP client.


Because sipML5 is fully open-source, the configuration of the WebSocket Server URL can be hard-coded into the client, and the actual SIP client can be easily embedded into an existing web interface.

June 21, 2013, at 05:06 PM by 109.99.235.212 -
Added lines 19-20:
  • Test & Upload very basic script file
Added lines 42-43:
  • Test & Upload very basic script files
June 21, 2013, at 05:05 PM by 109.99.235.212 -
Added lines 13-14:

Added lines 19-20:

Added lines 40-41:

June 21, 2013, at 05:00 PM by 109.99.235.212 -
Deleted lines 16-17:
  • TOOD - attach some test script here ?
Deleted lines 35-36:
  • TODO - brush up siphub config and attach here
June 21, 2013, at 04:59 PM by 109.99.235.212 -
Changed line 35 from:

server.rb contains the actual routing logic for the OverSIP server - written in Ruby : \\

to:

server.rb contains the actual routing logic for the OverSIP server - written in Ruby. The default server.rb script is suitable for the purpose of WS to SIP gateway, so you shouldn't do any changes to it, with one single exception : \\

June 21, 2013, at 04:40 PM by 109.99.235.212 -
Changed lines 41-47 from:

sipML5 Configuration

to:

sipML5 Configuration

Deploy the sipML5 client on your web server, and access it in your browser. Go to expert mode and edit the WebSocket Server URL to match the OverSIP IP address and port that you entered in the websocket section of the oversip.conf file. Hit save and then return to the first page of the sipML5 client.


Then simply insert your OpenSIPS server credentials and hit login. You should then be able to call other users registered on a webRTC capable SIP client.

June 21, 2013, at 04:10 PM by 109.99.235.212 -
Added lines 38-39:
  • TODO - brush up siphub config and attach here
June 21, 2013, at 04:10 PM by 109.99.235.212 -
Changed line 37 from:

If you are using a pre 1.3.8 version, you need to edit the file and add request.fix_nat right after the def (OverSIP::SipEvents).on_request request line - basically we're forcing OverSIP to consider all requests as NAT-ed ( since we'll be using it only for Websocket clients - since are NATed by default )

to:

If you are using a pre 1.3.8 version, you need to edit the file and add request.fix_nat right after the def (OverSIP::SipEvents).on_request request line - basically we're forcing OverSIP to consider all requests as NAT-ed ( since we'll be using it only for Websocket clients, and they are considered NATed by default due to browser considerations )

June 21, 2013, at 04:08 PM by 109.99.235.212 -
Changed line 37 from:

If you are using a pre 1.3.8 version, you need to edit add right after the def (OverSIP::SipEvents).on_request request line - basically we're forcing OverSIP to consider all requests as NAT-ed ( since we'll be using it only for Websocket clients - since are NATed by default )

to:

If you are using a pre 1.3.8 version, you need to edit the file and add request.fix_nat right after the def (OverSIP::SipEvents).on_request request line - basically we're forcing OverSIP to consider all requests as NAT-ed ( since we'll be using it only for Websocket clients - since are NATed by default )

June 21, 2013, at 04:07 PM by 109.99.235.212 -
Added line 33:

\\

June 21, 2013, at 04:07 PM by 109.99.235.212 -
June 21, 2013, at 04:07 PM by 109.99.235.212 -
Added lines 33-36:

server.rb contains the actual routing logic for the OverSIP server - written in Ruby :
If you are using a pre 1.3.8 version, you need to edit add right after the def (OverSIP::SipEvents).on_request request line - basically we're forcing OverSIP to consider all requests as NAT-ed ( since we'll be using it only for Websocket clients - since are NATed by default )

June 21, 2013, at 02:47 PM by 109.99.235.212 -
Changed lines 23-25 from:

oversip.conf contains the Main Configuration part of the server ( no routing logic here - just configuration parameters ). The parameters that are of interest for our configuration would be :

to:

oversip.conf contains the Main Configuration part of the server ( no routing logic here - just configuration parameters ).
The parameters that are of interest for our configuration would be :

June 21, 2013, at 02:42 PM by 109.99.235.212 -
Changed line 25 from:
  • listen_ipv4 - should be configured to be the public IP address of the OverSIP server
to:
  • listen_ipv4 - IP address where OverSIP will listen on SIP traffic. This will be the IP with which OverSIP will communicate with OpenSIPS on UDP and/or TCP
Changed lines 27-30 from:
to:
  • websocket: section
    • sip_ws: yes - should be enabled
    • listen_ipv4: - IP address where OverSIP will be listening for requests for Websocket clients ( should be a public IP address here )
    • listen_port: - we should be editing the websocket listen port in case the default port conflicts with other applications on the server
June 21, 2013, at 02:38 PM by 109.99.235.212 -
Added lines 20-27:

OverSIP has two basic configuration files that will need to be changed in order :

oversip.conf contains the Main Configuration part of the server ( no routing logic here - just configuration parameters ). The parameters that are of interest for our configuration would be :

  • sip: section
    • listen_ipv4 - should be configured to be the public IP address of the OverSIP server
    • listen_port - we should be editing the listen port in case the default port conflicts with other applications on the server. This will be the port on which OverSIP will communicate with OpenSIPS on UDP and/or TCP
June 21, 2013, at 02:26 PM by 109.99.235.212 -
Changed lines 17-21 from:
  • TOOD - attach some test script here ?
to:
  • TOOD - attach some test script here ?

OverSIP Configuration

sipML5 Configuration

June 21, 2013, at 02:23 PM by 109.99.235.212 -
Changed line 15 from:

OpenSIPS will have to be configured with NAT support. If you do not that can be accomplished by using the menuconfig tool and generating a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

to:

OpenSIPS will have to be configured with NAT support. If you want to generate a brand new script, that can be accomplished by using the menuconfig tool and generating a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

June 21, 2013, at 02:22 PM by 109.99.235.212 -
Changed lines 15-17 from:

OpenSIPS will have to be configured with NAT support - that can be accomplished by using the menuconfig tool and generating a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

to:

OpenSIPS will have to be configured with NAT support. If you do not that can be accomplished by using the menuconfig tool and generating a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

  • TOOD - attach some test script here ?
June 21, 2013, at 01:55 PM by 109.99.235.212 -
Changed lines 11-15 from:
  • For the SIP client for testing purposes, we will be using sipML5 - The client's media stack relies on WebRTC and the client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages. sipML5 is open source and the installation is very straight-forward. Furthermore, sipML5 should work on any web browser supporting WebRTC but we highly recommend using Google Chrome or Firefox Nightly for testing.
to:
  • For the SIP client for testing purposes, we will be using sipML5 - The client's media stack relies on WebRTC and the client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages. sipML5 is open source and the installation is very straight-forward. Furthermore, sipML5 should work on any web browser supporting WebRTC but we highly recommend using Google Chrome or Firefox Nightly for testing.

OpenSIPS Configuration

OpenSIPS will have to be configured with NAT support - that can be accomplished by using the menuconfig tool and generating a new Residential type script, with NAT support enabled. For more information on generating scripts see this manual page

June 21, 2013, at 01:04 PM by 109.99.235.212 -
Changed lines 9-11 from:
  • OverSIP will be used as a WebSocket to SIP gateway - all the websocket traffic will reach OverSIP, which will decapsulate the SIP traffic and relay it to the OpenSIPS proxy.

OverSIP packages are available for Debian based systems and detailed installation instructions are available for other operating systems as well - see OverSIP deployment tutorial here

to:
  • OverSIP will be used as a WebSocket to SIP gateway - all the websocket traffic will reach OverSIP, which will decapsulate the SIP traffic and relay it to the OpenSIPS proxy. OverSIP packages are available for Debian based systems and detailed installation instructions are available for other operating systems as well - see OverSIP deployment tutorial here
June 21, 2013, at 01:00 PM by 109.99.235.212 -
Added lines 2-3:

This page has been visited 11122 times. (:toc-float Table of Content:)

June 21, 2013, at 12:57 PM by 109.99.235.212 -
Changed line 11 from:
  • For the SIP client for testing purposes, we will be using sipML5 - The client's media stack relies on WebRTC and the client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages.
to:
  • For the SIP client for testing purposes, we will be using sipML5 - The client's media stack relies on WebRTC and the client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages. sipML5 is open source and the installation is very straight-forward. Furthermore, sipML5 should work on any web browser supporting WebRTC but we highly recommend using Google Chrome or Firefox Nightly for testing.
June 21, 2013, at 12:20 PM by 109.99.235.212 -
Changed line 11 from:
to:
  • For the SIP client for testing purposes, we will be using sipML5 - The client's media stack relies on WebRTC and the client can be used to connect to any SIP or IMS network from your preferred browser to make and receive audio/video calls and instant messages.
June 21, 2013, at 12:17 PM by 109.99.235.212 -
Changed line 9 from:

OverSIP packages are available for Debian based systems - see installation instructions here

to:

OverSIP packages are available for Debian based systems and detailed installation instructions are available for other operating systems as well - see OverSIP deployment tutorial here

June 21, 2013, at 12:14 PM by 109.99.235.212 -
Changed line 7 from:
  • http://oversip.net | OverSIP will be used as a WebSocket to SIP gateway - all the websocket traffic will reach OverSIP, which will decapsulate the SIP traffic and relay it to the OpenSIPS proxy.
to:
  • OverSIP will be used as a WebSocket to SIP gateway - all the websocket traffic will reach OverSIP, which will decapsulate the SIP traffic and relay it to the OpenSIPS proxy.
June 21, 2013, at 12:14 PM by 109.99.235.212 -
Changed lines 2-11 from:

to:

Platform Components

  • We will be using OpenSIPS as the core part of the platform, handling all the SIP traffic. For a basic tutorial of setting up OpenSIPS see the getting started tutorial
  • http://oversip.net | OverSIP will be used as a WebSocket to SIP gateway - all the websocket traffic will reach OverSIP, which will decapsulate the SIP traffic and relay it to the OpenSIPS proxy.

OverSIP packages are available for Debian based systems - see installation instructions here

June 21, 2013, at 11:40 AM by 109.99.235.212 -
Added lines 1-2:
Documentation -> Tutorials -> Deploying Websocket support with OpenSIPS and OverSIP


Page last modified on July 02, 2013, at 10:48 AM