I’m looking for experienced VoIP consultant to help install and configure OpenSIPS based Server.
- To provide fundaments for developing my own retail prepaid VoIP solution
- Developing of prepaid/billing engine is not part of this job, I need only how to integrate my own solution with server prepared by you
Details of what I need:
- Recent OpenSIPS server
- SIP registrar with user accounts stored in MySQL database
- Internal calls between users with NAT support
- Outbound calls – no RTP (audio) should be passed by server, my VoIP providers has own solutions for dealing with NAT’ed users (far end NAT traversal), RTP should go directly to VoIP provider, but SIP session should go through my server
- Inbound calls – with NAT support
- “Hook” to integrate with my own prepaid engine – for every outbound or inbound connection I must be able to catch the event and process it using with my custom routing logic. So for every connection I need to get information: connection type (inbound/outbound), connection ID, username, dialed number. Using those information my routing logic will check for user account balance and return: SIP trunk to use, call timeout (maximum call length), caller ID to use. SIP server should use data returned by my script to make connection.
- “Hook” to handle CDR – for every CDR I must be able to handle it by myself. So server should send me CDR details (billable call length, dialed number, username, terminate cause). Using that data my script will calculate call cost and charge user account.
- “Hook” to handle call answer and call end events
- Server must be able to automatically detect dropped calls properly (ie user gone offline while using WiFi network, so his adapter was unable to send SIP Bye message). Such connections should be automatically dropped
- Server must be able to use two types of SIP trunks: SIP trunk with IP based authentication (no username/password), full SIP account (IP, username, password)
- My routing logic will be written in PHP (stand alone command line application aka deamon), it could connect server using sockets, pipes or any other standard linux mechanisms. You need to show me how to exactly integrate with SIP server (ie send documentation of protocol used for communication, explain how to use it)
- I will basic need help with managing server – start/stop/restart, how to diagnose problems, show current open channels (active calls)
- Information how to reproduce server configuration in production enviroment
I will provide:
- Server with root access via SSH
- Debian 5.0 32-bit (minimal installation)
- Preinstalled MySQL
- SIP trunks for tests