Installing SIP Switch

Support zone
Post Reply
ahmed24
Posts: 2
Joined: Sun Aug 26, 2007 6:45 pm

Installing SIP Switch

Post by ahmed24 » Mon Aug 27, 2007 1:00 pm

I downloaded the sip switch source from sourceforge, just wondering if there is any documentation on how to go about installing it?

Aaron
Site Admin
Posts: 4652
Joined: Thu Jul 12, 2007 12:13 am

Post by Aaron » Mon Aug 27, 2007 2:38 pm

Hi ahmed24,

No there isn't currently but give me a few days and I'll produce some. You're the first person to ask!

Regards,

Aaron
Last edited by Aaron on Mon Sep 10, 2007 7:01 am, edited 1 time in total.

ahmed24
Posts: 2
Joined: Sun Aug 26, 2007 6:45 pm

Post by ahmed24 » Mon Aug 27, 2007 3:13 pm

thanks Aaron, it would be nice to have a setup procedure for it for people who want to try and install the application on their webservers.

Aaron
Site Admin
Posts: 4652
Joined: Thu Jul 12, 2007 12:13 am

Post by Aaron » Tue Sep 04, 2007 8:02 am

It took me a little longer then I hoped but I've now bundled up the relevant source code along with a console application version of the sipswitch. It can be downloaded from either of the two links below.

http://www.mysipswitch.com/downloads/my ... ch-0.1.zip
http://sourceforge.net/project/showfile ... _id=174323

There is zero documentation which I realise means the app is near useless and I'll get started on that as the next job.

The most basic instructions that may allow you to get it running are:

1. It is possible to run the sipswitch app on Linux but it requires mono to be installed and a few dll's to be copied across from Microsoft's v3 .Net framework. An easier approach is to run on Windows with the .Net framework v3.5 installed,

2. Create an SQL database using the attached .sql script (it's written for Postgresql),

3. Modify the config file, mysipswitch.exe.config to use the new database and adjust for the IP address of the machine the app will be running on,

4. Double click the mysipswitch.exe.

At that stage the app will be running as a stateful SIP Proxy and SIP Registrar. However to be useful as either stuff needs to go into the database and that's where the documentation will come in.

If anyone is thinking about running any kind of SIP Proxy behind NAT I'd strongly advise against it. It's possible but you end up having to do all sorts of mangling of SIP requests and tricks to get the RTP sockets accepted. Using a dynamic IP address with no NAT is not too bad but the best option is a public static IP address followed by a dynamic hostname using somehting like dyndns.org.

Regards,

Aaron

Aaron
Site Admin
Posts: 4652
Joined: Thu Jul 12, 2007 12:13 am

Post by Aaron » Mon Sep 10, 2007 8:20 am

Description:
------------

The sipswitch is a multi-function SIP server. It deals with SIP signalling only and does not get involved in any media processing. The SIP functions the sipswitch provides are:

- Stateful SIP Proxy; accepts calls from Client User Agents and forwards to external SIP servers according to a user configurable dial plan,

- SIP Registrar Server; accepts registrations from Client User Agents. The contact recorded can be used to forward calls received by the sipswitch for the user,

- SIP Registration Agent; acts as a Client User Agent to register contacts with external SIP Registrars,

- Web Service Provider; allows the sipswitch Daemon to be queried for real-time updates on sipswitch status and activty,

- Telnet SIP Trace: allows telnet connections to the sipswitch Daemon to be connected to in a console type fashion and events and traffic displayed.

- STUN Server.

The sipswitch consists of two main components:

- A Daemon process performing each of the sipswitch functions,

- A database to store persistent information required by the Daemon.

Configuration Parameters:
-------------------------

ProxyIPAddress: The IP address the sipswitch Daemon will attempt to listen on for all incoming SIP messages.

ProxyIPPort: The IP port the sipswitch Daemon will attempt to listen on for all incoming SIP messages.

MangleClientContact: (True|False) Whether or not the SIP Proxy should adjust Contact addresses on INVITE requests to reflect the socket the reuqest was received on. This is necessary when the Client User Agent is behind NAT and is not detecting its public IP address.

NATKeepAliveListenerSocket: A loopback port that the SIP Proxy server will listen on for keep-alive requests from the SIP Registrar.

WebServicePort: The port the sipswitch Daemon will listen on for web service requests.

MonitorEventPort: Local port (established on the loopback address 127.0.0.1) that each of the sipswitch servers will deliver events to.

MonitorListenPort: External port (established on the ProxyIPAddress) that telnet connections will be listened for on.

SuperUsername: Connections to the telnet console with this username will not have any restictions on the filter that can be set.

ProxyLogStorageType: (Postgresql|MSSQL) This is the storage type the sipswitch will use as it's persistent store.

ProxyLogDBConnStr: The database connection string the sipswitch will use to connect to the persistent store.

STUNSecondarySocket: The secondary socket to be used by the STUN server. Ideally this socket should be on a different IP address to the primary STUN socket which is established by default on (ProxyIPAddress:3348). The format for this parameter is <ipaddress:port>.

RegistrarRealm: The realm that will be used in authentication challenges for REGISTER requests to the SIP Registrar.

RegistrarContactsPerUser: The maximum number of contacts that will be recorded for each username by the SIP Registrar.

RegistrarMaxExpiry: The maximum expiry time in seconds that the SIP Registrar will specify.

Post Reply