Go to fs_cli and type: distributor cisco_fxo If you get an error then you know your distributor is not set up correctly. If you get "fxolineX" then your dialplan call to distributor is not correct. Most likely it's the former, and most likely mod_distributor is not compiled and/or installed. In FS source: Edit modules.conf and uncomment the line with "mod_distributor" Do "make mod_distributor-install" In fs_cli do: load mod_distributor Then go to conf/autoload_configs/modules.conf.xml Uncomment the line w/ mod_distributor That will make mod_distributor load each time FS starts. -MC On Thu, Jun 28, 2012 at 9:22 PM, Robin Gilks <robin.gilks@taitradio.com>wrote:
Greetings
I'm a noob with FS (and VoIP generally!!) and am really struggling with getting 2 way comms between a PABX and a soft-phone using FS and an SPA8800.
Calls from the PABX are OK, the FXO ports have registered with FS and when I dial the FXO extension I get the dial tone, dial the number for the soft-phone and it all works fine.
The problem is connections *TO* the PABX. The SPA8800 AFAIK has a separate SIP port for each of its FXO ports. My understanding of how it should work is as follows:
I have to have 4 gateways defined in a file in the sip-profiles/externals directory, each with a different "sip-port" line. I'm testing with 2 to start with:
# cat cicsco_fxo.xml <include> <gateway name="fxoline3"> <param name="username" value="none"/> <param name="password" value="none"/> <param name="realm" value="172.27.1.20"/> <param name="sip-port" value="5260"/> <param name="register" value="false"/> </gateway> <gateway name="fxoline4"> <param name="username" value="none"/> <param name="password" value="none"/> <param name="realm" value="172.27.1.20"/> <param name="sip-port" value="5360"/> <param name="register" value="false"/> </gateway>
I have to use mod_distributor to select one of the gateways that define the SIP ports. Thats is configured in the autoload_configs directory.
# cat distributor.conf.xml <configuration name="distributor.conf" description="Distributor Configuration"> <lists> <list name="cisco_fxo" total-weight="2"> <node name="fxoline3" weight="1"/> <node name="fxoline4" weight="1"/> </list> </lists> </configuration>
Finally, I use a dialplan to access this distribution of gateways when a 4 digit number starting with 8 is dialed from the soft-phone.
# cat 33_ciscofox.xml <include> <extension name="pabx"> <condition field="destination_number" expression="^(8\d{3})$"> <action application="bridge" data="sofia/gateway/${distributor(cisco_fxo)}/$1"/> </condition> </extension> </include>
Result expected - it all works. Result I get is:
freeswitch@PBX.localdomain> 2012-06-29 04:13:44.287982 [NOTICE] switch_channel.c:926 New Channel sofia/internal/1002@172.16.164.33 [d0fc47e6-c1a0-11e1-881d-f70f560259d2] 2012-06-29 04:13:44.287982 [INFO] mod_dialplan_xml.c:485 Processing 1002 <1002>->8569 in context default 2012-06-29 04:13:44.298584 [ERR] mod_sofia.c:4492 Invalid Gateway '' 2012-06-29 04:13:44.298584 [NOTICE] mod_sofia.c:4889 Close Channel N/A [CS_NEW] 2012-06-29 04:13:44.298584 [NOTICE] switch_ivr_originate.c:2535 Cannot create outgoing channel of type [sofia] cause: [INVALID_GATEWAY] 2012-06-29 04:13:44.298584 [INFO] mod_dptools.c:2956 Originate Failed. Cause: INVALID_GATEWAY 2012-06-29 04:13:44.298584 [NOTICE] mod_dptools.c:3076 Hangup sofia/internal/1002@172.16.164.33 [CS_EXECUTE] [INVALID_GATEWAY] 2012-06-29 04:13:44.298584 [NOTICE] switch_core_session.c:1447 Session 11 (sofia/internal/1002@172.16.164.33) Ended 2012-06-29 04:13:44.298584 [NOTICE] switch_core_session.c:1449 Close Channel sofia/internal/1002@172.16.164.33 [CS_DESTROY]
So what is invalid about the gateway?
Cheers
-- Robin Gilks
--