Академический Документы
Профессиональный Документы
Культура Документы
Overview
The current starpound implementation requires the SIP phones register to Kamailio/SER and anchors the media to Asterisk/FreeSwtich for INVITE messages to solve NATing problem. This approach does not work when Asterisk/FreeSwitch server is behind a firewall. In EC2 environment, all servers are behind a virtual firewall. Note: Amazon EC2 (Elastic Cloud Computing) is a virtual server hosting environment. StarPound will use this environment to provide its hosted solutions. In order for StarPound to work with EC2, the SIP phones have to register to a media server (Asterisk or FreeSwitch). We are only planning to use FreeSwitch in EC2 environment. As a test, we've installed a Fedora Core 8 instance with StarPound CORE, kamailio, and Freeswtich installed. The PBX users and agents are first created using StarPound Management Console, and then manually created in FreeSwtich (XML files in conf/directory). This approach solved NATing problem. We were able to make outbound and receive inbound calls. In order to seemlessly using FreeSwitch as the registration server (get rid of the mannual user creation), we need to configure FreeSwitch to relay the registration request to StarPound. StarPound needs to provide a SIP registration service that processing the XML sent from FS and returns with a proper XML message.
FreeSwitch Configuration
FreeSwitch directory should be configured to use Mod XML Curl module. FreeSwitch upon receiving the registration message, it will send XML request (w/ Mod XML Curl ) to StarPound application server for user verification. Add the following section to the <freeswitch>/conf/auto_load_configs/xml_curl.conf: <configuration name="xml_curl.conf" description="cURL XML Gateway"> <bindings> <binding name="directory fetcher"> <param name="gateway-url" value="http://<server>:<port>" bindings="directory"/> </binding> </bindings> </configuration>
Troubleshoot
You can use 'netcat' to troubleshoot the problem. Netcat can start up as a network listener on any port and output all request it received and accept input from stdin. For example, nc -v -l 127.0.0.1 8084 Copyright 2009, Starpound Technologies, INC. All rights reserved.