FreeSWITCH package for pfSense 1.2.1 and 2.0 released. PBX or Proxy
-
I am just getting back to playing with pfsense/freeswitch after being pulled away for a couple of weeks. I upgraded the install.
Welcome back!
When I dial my voicemail, I get "the person at extension 1001 is not available." When I dial 4000, I just get "goodbye". Same with 5000. What have I screwed up?
In the latest version all default FreeSWITCH feature codes have been moved behind the * so 4000 is now *4000, 5000 is now *5000, 9999 is now *9999 and so on. Another recent change is *4000 is the general voicemail box and *98 is the voicemail box that auto detects your extension so that it only need to ask for the password. The reason the feature codes have been moved behind the * is because this makes those number available for you and others so that they can use any 3 or 4 digit number for extensions, auto attendants(IVR), and hunt groups.
One other thing to note after doing an upgrade from an older version. The textareas in the GUI are handy because they give a lot of flexibility to you for advanced configuration. However it also creates an issue for the upgrade. That is that the installation does not update the textareas with the new default config. Why because I don't want to wipe out any of your customizations to those files. So to make it easier I created a 'Restore Default' on the bottom of each one of the textareas. So if you have no customizations simply click on those buttons to set it back to the default. You may need to do this for 'Vars' tab Public -> public.xml, 'Dialplan' tab -> default.xml, and occasionally for the Profiles tab for the internal, and the external profile. Please note this is not always necessary. It is only needed if the version of FreeSWITCH has changed and the default config has changed enough to conflict with your current settings.
And - If a person wanted to completely delete all of freewitch from a firewall and reinstall from scratch, what are the file to get rid of?
You would need to go to System -> Packages and Remove the FreeSWITCH package. This will remove the package files but not the configuration that is stored in pfsense's xml config file. To get rid of the config require manually to remove the freeswitch tags in the xml from the config.xml. Warning! you have to do this carefully or you can break pfsense and prevent it from loading.
Because of that I suggest you first backup the file to something like config.xml.bakYou can open the file with Diagnostics -> Edit File once you have loaded /cf/conf/config.xml change the path to /cf/conf/config.xml.bak and click on save. That will create a current backup. Next remove all tags that use 'freeswitch' anywhere in the tag name. Make sure to delete everything between the start and close tag.
Then to get pfsense to see the change delete the config.cache from the /tmp directory.
rm /tmp/config.cacheThanks again for all your hard work!
You're welcome.
-
Wow, mcrane - you just flat-out rock! Thanks for the info.
-
I'm not keeping up well with update changes so iced98lx has volunteered to update the pfSense FreeSWITCH wiki with the changes
http://doc.pfsense.org/index.php/FreeSWITCH#Change_Log_.2F_Revision_HistoryAlso commits to the package can be monitored here.
https://rcs.pfsense.org/users/mcraneand here
https://rcs.pfsense.org/projects/pfsense-packages
-
I just did a fresh install of pfsense 1.2.2. After which I installed freeswitch I looked at the service and it was not started. I attempted to start it which responded telling me it was started, however the icon showed stopped. I went into /usr/local/freeswitch/bin and tried to start it manually. The following is the error I get.
./freeswitch
Error: stacksize 240 is too large: run ulimit -s 240 or run ./freeswitch -waste.
auto-adjusting stack size for optimal performance….
Cannot lock pid file /usr/local/freeswitch/log/freeswitch.pid.This is likely because I'm not running 1.2.3-RC1? Is there a way to get this to run on 1.2.2? I tried 1.2.3-RC1 fresh install but it ran horribly on my system.
-
./freeswitch
Error: stacksize 240 is too large: run ulimit -s 240 or run ./freeswitch -waste.
auto-adjusting stack size for optimal performance….
Cannot lock pid file /usr/local/freeswitch/log/freeswitch.pid.This is likely because I'm not running 1.2.3-RC1?
Yes I guarantee that is the reason.
Is there a way to get this to run on 1.2.2? I tried 1.2.3-RC1 fresh install but it ran horribly on my system.
Current package requires 1.2.3 or pfsense 2.0. The reason why is that FreeSWITCH is compiled for freebsd 7.2. In order to get FreeSWITCH to work good on 1.2.x it has to be compiled for the version of freebsd that pfsense uses.
-
Thanks mcrane, I updated pfSense to 1.2.3-RC3 and it runs. However it looks like when running the fs_cli command via ssh it doesnt work. Here is the error I get.
./fs_cli
[ERROR] libs/esl/fs_cli.c:652 main() Error Connecting [Connection Error]
However in the GUI the status shows things correctly.
Any tips on this? Maybe I'm just missing a package?
-
pfsense by default blocks communication on 127.0.0.1 which is what fs_cli tries by default instead tell it to use your lan ip address.
./fs_cli -H 192.168.1.1
-
thanks mcrane
-
Having an issue. I use dual wan, whenever my DSL IP is renewed the freeswitch service stops working. Looking at the system logs it shows the following.
php: : pfSense package system has detected an ip change 67.55.21.X -> 69.172.115.X … Restarting packages.
After this my pfsense service shows stopped. Any tips as to why?
-
Sorry here is another line with more relevant information. "missing required dependencies" any idea which?
php: : pfSense package system has detected an ip change 69.172.115.239 -> 67.55.20.155 … Restarting packages.
php: : The FreeSWITCH package is missing required dependencies and must be reinstalled. -
What version of the pfsense freeswitch package are you using? freeswitch or freeswitch dev
-
I'm using freeswitch 0.9.5. On 1.2.3-RC3.
-
Hello everybody,
I have been using pfSense for many years, just recently I discovered the freeswitch package, so I built a new test server and bought a couple of polycom 601 phones. I started with a fresh install of 1.2.3-RC3 and installed the tftp server for my polycom phones. I also downloaded pangolin soft phone. Then I proceeded to install the freeswitch 0.9.5 package. I set up 2 extensions using the GUI and had both the softphone and the 601 register with the server. but I get a message "Temporarily unavailable 480" from the soft phone.Then I did anothher complete re-install of pfsense, and loaded the development version, this time I was able to get the phones to talk to each other, had music on hold and voice mail would take messages, but it would not connect to the voice mail, * anything would not work. so I used the instructions earlier in this post to remove freeswitch and tried to install freeswitch again. but I am back to the orignal problem, I am attaching a portion of the log in case it will help.
2009-10-13 05:29:31.434068 [DEBUG] sofia.c:4549 IP 192.168.3.199 Rejected by acl "domains". Falling back to Digest auth.
2009-10-13 05:29:31.498052 [DEBUG] sofia.c:4549 IP 192.168.3.199 Rejected by acl "domains". Falling back to Digest auth.
2009-10-13 05:29:31.498052 [NOTICE] switch_channel.c:602 New Channel sofia/lan/1003@192.168.3.1 [178d6062-b9b7-de11-97fc-00a0cc5a11e3]
2009-10-13 05:29:31.498052 [DEBUG] sofia.c:5196 Setting NAT mode based on rfc1918.auto
2009-10-13 05:29:31.498052 [DEBUG] sofia.c:3210 Channel sofia/lan/1003@192.168.3.1 entering state [received][100]
2009-10-13 05:29:31.498052 [DEBUG] sofia.c:3217 Remote SDP:
v=0
o=- 607600082 607600082 IN IP4 192.168.189.1
s=http://www.portsip.com
c=IN IP4 192.168.189.1
t=0 0
m=audio 21492 RTP/AVP 0 8 18 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
m=video 40360 RTP/AVP 34 125
a=rtpmap:34 H263/90000
a=fmtp:34 CIF=2
a=rtpmap:125 H264/90000
a=fmtp:125 profile-level-id=42e0152009-10-13 05:29:31.498052 [DEBUG] sofia_glue.c:3081 Audio Codec Compare [PCMU:0:8000:20]/[G7221:115:32000:20]
2009-10-13 05:29:31.498052 [DEBUG] sofia_glue.c:3081 Audio Codec Compare [PCMU:0:8000:20]/[G7221:107:16000:20]
2009-10-13 05:29:31.498052 [DEBUG] sofia_glue.c:3081 Audio Codec Compare [PCMU:0:8000:20]/[G722:9:8000:20]
2009-10-13 05:29:31.498052 [DEBUG] sofia_glue.c:3081 Audio Codec Compare [PCMU:0:8000:20]/[PCMU:0:8000:20]
2009-10-13 05:29:31.498052 [DEBUG] sofia_glue.c:2039 Set Codec sofia/lan/1003@192.168.3.1 PCMU/8000 20 ms 160 samples
2009-10-13 05:29:31.498052 [DEBUG] sofia_glue.c:3041 Set 2833 dtmf payload to 101
2009-10-13 05:29:31.498052 [DEBUG] sofia.c:3376 (sofia/lan/1003@192.168.3.1) State Change CS_NEW -> CS_INIT
2009-10-13 05:29:31.498052 [DEBUG] switch_core_session.c:933 Send signal sofia/lan/1003@192.168.3.1 [BREAK]
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:397 (sofia/lan/1003@192.168.3.1) Running State Change CS_INIT
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:480 (sofia/lan/1003@192.168.3.1) State INIT
2009-10-13 05:29:31.505791 [DEBUG] mod_sofia.c:83 sofia/lan/1003@192.168.3.1 SOFIA INIT
2009-10-13 05:29:31.505791 [DEBUG] mod_sofia.c:111 (sofia/lan/1003@192.168.3.1) State Change CS_INIT -> CS_ROUTING
2009-10-13 05:29:31.505791 [DEBUG] switch_core_session.c:933 Send signal sofia/lan/1003@192.168.3.1 [BREAK]
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:480 (sofia/lan/1003@192.168.3.1) State INIT going to sleep
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:397 (sofia/lan/1003@192.168.3.1) Running State Change CS_ROUTING
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:483 (sofia/lan/1003@192.168.3.1) State ROUTING
2009-10-13 05:29:31.505791 [DEBUG] mod_sofia.c:130 sofia/lan/1003@192.168.3.1 SOFIA ROUTING
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:78 sofia/lan/1003@192.168.3.1 Standard ROUTING
2009-10-13 05:29:31.505791 [INFO] mod_dialplan_xml.c:252 Processing 1003->1000 in context public
Dialplan: sofia/lan/1003@192.168.3.1 parsing [public->unloop] continue=false
Dialplan: sofia/lan/1003@192.168.3.1 Regex (PASS) [unloop] ${unroll_loops}(true) =~ /^true$/ break=on-false
Dialplan: sofia/lan/1003@192.168.3.1 Regex (FAIL) [unloop] ${sip_looped_call}() =~ /^true$/ break=on-false
Dialplan: sofia/lan/1003@192.168.3.1 parsing [public->outside_call] continue=true
Dialplan: sofia/lan/1003@192.168.3.1 Absolute Condition [outside_call]
Dialplan: sofia/lan/1003@192.168.3.1 Action set(outside_call=true)
Dialplan: sofia/lan/1003@192.168.3.1 parsing [public->call_debug] continue=true
Dialplan: sofia/lan/1003@192.168.3.1 Regex (FAIL) [call_debug] ${call_debug}(false) =~ /^true$/ break=never
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:114 (sofia/lan/1003@192.168.3.1) State Change CS_ROUTING -> CS_EXECUTE
2009-10-13 05:29:31.505791 [DEBUG] switch_core_session.c:933 Send signal sofia/lan/1003@192.168.3.1 [BREAK]
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:483 (sofia/lan/1003@192.168.3.1) State ROUTING going to sleep
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:397 (sofia/lan/1003@192.168.3.1) Running State Change CS_EXECUTE
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:490 (sofia/lan/1003@192.168.3.1) State EXECUTE
2009-10-13 05:29:31.505791 [DEBUG] mod_sofia.c:173 sofia/lan/1003@192.168.3.1 SOFIA EXECUTE
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:151 sofia/lan/1003@192.168.3.1 Standard EXECUTE
EXECUTE sofia/lan/1003@192.168.3.1 set(outside_call=true)
2009-10-13 05:29:31.505791 [DEBUG] mod_dptools.c:748 sofia/lan/1003@192.168.3.1 SET [outside_call]=[true]
2009-10-13 05:29:31.505791 [NOTICE] switch_core_state_machine.c:179 Hangup sofia/lan/1003@192.168.3.1 [CS_EXECUTE] [NORMAL_CLEARING]
2009-10-13 05:29:31.505791 [DEBUG] switch_channel.c:1683 Send signal sofia/lan/1003@192.168.3.1 [KILL]
2009-10-13 05:29:31.505791 [DEBUG] switch_core_session.c:933 Send signal sofia/lan/1003@192.168.3.1 [BREAK]
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:490 (sofia/lan/1003@192.168.3.1) State EXECUTE going to sleep
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:397 (sofia/lan/1003@192.168.3.1) Running State Change CS_HANGUP
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:433 (sofia/lan/1003@192.168.3.1) State HANGUP
2009-10-13 05:29:31.505791 [DEBUG] mod_sofia.c:338 Channel sofia/lan/1003@192.168.3.1 hanging up, cause: NORMAL_CLEARING
2009-10-13 05:29:31.505791 [DEBUG] mod_sofia.c:414 Responding to INVITE with: 480
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:46 sofia/lan/1003@192.168.3.1 Standard HANGUP, cause: NORMAL_CLEARING
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:433 (sofia/lan/1003@192.168.3.1) State HANGUP going to sleep
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:475 (sofia/lan/1003@192.168.3.1) State Change CS_HANGUP -> CS_REPORTING
2009-10-13 05:29:31.505791 [DEBUG] switch_core_session.c:933 Send signal sofia/lan/1003@192.168.3.1 [BREAK]
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:397 (sofia/lan/1003@192.168.3.1) Running State Change CS_REPORTING
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:607 (sofia/lan/1003@192.168.3.1) State REPORTING
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:53 sofia/lan/1003@192.168.3.1 Standard REPORTING, cause: NORMAL_CLEARING
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:607 (sofia/lan/1003@192.168.3.1) State REPORTING going to sleep
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:410 (sofia/lan/1003@192.168.3.1) State Change CS_REPORTING -> CS_DESTROY
2009-10-13 05:29:31.505791 [DEBUG] switch_core_session.c:1067 Session 3 (sofia/lan/1003@192.168.3.1) Locked, Waiting on external entities
2009-10-13 05:29:31.505791 [NOTICE] switch_core_session.c:1085 Session 3 (sofia/lan/1003@192.168.3.1) Ended
2009-10-13 05:29:31.505791 [NOTICE] switch_core_session.c:1087 Close Channel sofia/lan/1003@192.168.3.1 [CS_DESTROY]
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:559 (sofia/lan/1003@192.168.3.1) State DESTROY
2009-10-13 05:29:31.505791 [DEBUG] mod_sofia.c:255 sofia/lan/1003@192.168.3.1 SOFIA DESTROY
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:60 sofia/lan/1003@192.168.3.1 Standard DESTROY
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:559 (sofia/lan/1003@192.168.3.1) State DESTROY going to sleep
2009-10-13 05:29:31.505791 [DEBUG] switch_core_state_machine.c:559 (sofia/lan/1003@192.168.3.1) State DESTROY going to sleep -
I see the problem. You are registering to the lan profile. The default config is expecting you to register to the internal profile which is by default listening on the wan ip address. You can either set a domain (use dynamic dns if you have a dynamic ip address) or if you have a static ip address on the wan you can use that.
If you don't prefer that method then the next easiest approach is to delete the lan profile and set the internal profile to use the ip address for the lan. Then you can register to the lan ip address and it you still are able to get around NAT issues because the external profile will pickup inbound calls on the WAN ip address where it is listening. For more information about this method take a look at: http://wiki.freeswitch.org/wiki/Multi_home_tutorial
-
Thank you for the quick responce, Let me see if I understand you correctly. to do this:
@mcrane:
You can either set a domain (use dynamic dns if you have a dynamic ip address) or if you have a static ip address on the wan you can use that.
I need to set phones to connect to the wan port. (which is currently dynamic, but I am going to change it to fixed).
or I can
@mcrane:
delete the lan profile and set the internal profile to use the ip address for the lan. Then you can register to the lan ip address and it you still are able to get around NAT issues because the external profile will pickup inbound calls on the WAN ip address where it is listening. For more information about this method take a look at: http://wiki.freeswitch.org/wiki/Multi_home_tutorial
I tried using the http://wiki.freeswitch.org/wiki/Multi_home_tutorial, but I did not know what to do about the lan profile. and the items ext-rtp-ip & ext-sip-ip said that the only allowed values were "Auto" and "Auto-NAT"
also I could not find how to set the folowing
"<domain name="192.168.0.199">"
So I am going to try to do the first Item.
Thanks again for the help.
(update)
I fixed the external IP to 192.168.2.210, and registered my soft phone to that address. It did not work. I am attaching another part of the log.
2009-10-13 19:43:37.245207 [DEBUG] sofia.c:4549 IP 192.168.3.199 Rejected by acl "domains". Falling back to Digest auth.
2009-10-13 19:43:37.307211 [DEBUG] sofia.c:4549 IP 192.168.3.199 Rejected by acl "domains". Falling back to Digest auth.
2009-10-13 19:43:37.307211 [NOTICE] switch_channel.c:602 New Channel sofia/internal/1003@192.168.2.210 [d2aa42b3-30b8-de11-a406-00a0cc5a11e3]
2009-10-13 19:43:37.307211 [DEBUG] sofia.c:5196 Setting NAT mode based on rfc1918.auto
2009-10-13 19:43:37.315472 [DEBUG] sofia.c:3210 Channel sofia/internal/1003@192.168.2.210 entering state [received][100]
2009-10-13 19:43:37.315472 [DEBUG] sofia.c:3217 Remote SDP:
v=0
o=- 658846300 658846300 IN IP4 192.168.189.1
s=http://www.portsip.com
c=IN IP4 192.168.189.1
t=0 0
m=audio 20452 RTP/AVP 0 8 18 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
m=video 41682 RTP/AVP 34 125
a=rtpmap:34 H263/90000
a=fmtp:34 CIF=2
a=rtpmap:125 H264/90000
a=fmtp:125 profile-level-id=42e0152009-10-13 19:43:37.315472 [DEBUG] sofia_glue.c:3081 Audio Codec Compare [PCMU:0:8000:20]/[G7221:115:32000:20]
2009-10-13 19:43:37.315472 [DEBUG] sofia_glue.c:3081 Audio Codec Compare [PCMU:0:8000:20]/[G7221:107:16000:20]
2009-10-13 19:43:37.315472 [DEBUG] sofia_glue.c:3081 Audio Codec Compare [PCMU:0:8000:20]/[G722:9:8000:20]
2009-10-13 19:43:37.315472 [DEBUG] sofia_glue.c:3081 Audio Codec Compare [PCMU:0:8000:20]/[PCMU:0:8000:20]
2009-10-13 19:43:37.315472 [DEBUG] sofia_glue.c:2039 Set Codec sofia/internal/1003@192.168.2.210 PCMU/8000 20 ms 160 samples
2009-10-13 19:43:37.315472 [DEBUG] sofia_glue.c:3041 Set 2833 dtmf payload to 101
2009-10-13 19:43:37.315472 [DEBUG] sofia.c:3376 (sofia/internal/1003@192.168.2.210) State Change CS_NEW -> CS_INIT
2009-10-13 19:43:37.315472 [DEBUG] switch_core_session.c:933 Send signal sofia/internal/1003@192.168.2.210 [BREAK]
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:397 (sofia/internal/1003@192.168.2.210) Running State Change CS_INIT
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:480 (sofia/internal/1003@192.168.2.210) State INIT
2009-10-13 19:43:37.315472 [DEBUG] mod_sofia.c:83 sofia/internal/1003@192.168.2.210 SOFIA INIT
2009-10-13 19:43:37.315472 [DEBUG] mod_sofia.c:111 (sofia/internal/1003@192.168.2.210) State Change CS_INIT -> CS_ROUTING
2009-10-13 19:43:37.315472 [DEBUG] switch_core_session.c:933 Send signal sofia/internal/1003@192.168.2.210 [BREAK]
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:480 (sofia/internal/1003@192.168.2.210) State INIT going to sleep
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:397 (sofia/internal/1003@192.168.2.210) Running State Change CS_ROUTING
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:483 (sofia/internal/1003@192.168.2.210) State ROUTING
2009-10-13 19:43:37.315472 [DEBUG] mod_sofia.c:130 sofia/internal/1003@192.168.2.210 SOFIA ROUTING
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:78 sofia/internal/1003@192.168.2.210 Standard ROUTING
2009-10-13 19:43:37.315472 [INFO] mod_dialplan_xml.c:252 Processing 1003->1000 in context public
Dialplan: sofia/internal/1003@192.168.2.210 parsing [public->unloop] continue=false
Dialplan: sofia/internal/1003@192.168.2.210 Regex (PASS) [unloop] ${unroll_loops}(true) =~ /^true$/ break=on-false
Dialplan: sofia/internal/1003@192.168.2.210 Regex (FAIL) [unloop] ${sip_looped_call}() =~ /^true$/ break=on-false
Dialplan: sofia/internal/1003@192.168.2.210 parsing [public->outside_call] continue=true
Dialplan: sofia/internal/1003@192.168.2.210 Absolute Condition [outside_call]
Dialplan: sofia/internal/1003@192.168.2.210 Action set(outside_call=true)
Dialplan: sofia/internal/1003@192.168.2.210 parsing [public->call_debug] continue=true
Dialplan: sofia/internal/1003@192.168.2.210 Regex (FAIL) [call_debug] ${call_debug}(false) =~ /^true$/ break=never
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:114 (sofia/internal/1003@192.168.2.210) State Change CS_ROUTING -> CS_EXECUTE
2009-10-13 19:43:37.315472 [DEBUG] switch_core_session.c:933 Send signal sofia/internal/1003@192.168.2.210 [BREAK]
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:483 (sofia/internal/1003@192.168.2.210) State ROUTING going to sleep
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:397 (sofia/internal/1003@192.168.2.210) Running State Change CS_EXECUTE
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:490 (sofia/internal/1003@192.168.2.210) State EXECUTE
2009-10-13 19:43:37.315472 [DEBUG] mod_sofia.c:173 sofia/internal/1003@192.168.2.210 SOFIA EXECUTE
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:151 sofia/internal/1003@192.168.2.210 Standard EXECUTE
EXECUTE sofia/internal/1003@192.168.2.210 set(outside_call=true)
2009-10-13 19:43:37.315472 [DEBUG] mod_dptools.c:748 sofia/internal/1003@192.168.2.210 SET [outside_call]=[true]
2009-10-13 19:43:37.315472 [NOTICE] switch_core_state_machine.c:179 Hangup sofia/internal/1003@192.168.2.210 [CS_EXECUTE] [NORMAL_CLEARING]
2009-10-13 19:43:37.315472 [DEBUG] switch_channel.c:1683 Send signal sofia/internal/1003@192.168.2.210 [KILL]
2009-10-13 19:43:37.315472 [DEBUG] switch_core_session.c:933 Send signal sofia/internal/1003@192.168.2.210 [BREAK]
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:490 (sofia/internal/1003@192.168.2.210) State EXECUTE going to sleep
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:397 (sofia/internal/1003@192.168.2.210) Running State Change CS_HANGUP
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:433 (sofia/internal/1003@192.168.2.210) State HANGUP
2009-10-13 19:43:37.315472 [DEBUG] mod_sofia.c:338 Channel sofia/internal/1003@192.168.2.210 hanging up, cause: NORMAL_CLEARING
2009-10-13 19:43:37.315472 [DEBUG] mod_sofia.c:414 Responding to INVITE with: 480
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:46 sofia/internal/1003@192.168.2.210 Standard HANGUP, cause: NORMAL_CLEARING
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:433 (sofia/internal/1003@192.168.2.210) State HANGUP going to sleep
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:475 (sofia/internal/1003@192.168.2.210) State Change CS_HANGUP -> CS_REPORTING
2009-10-13 19:43:37.315472 [DEBUG] switch_core_session.c:933 Send signal sofia/internal/1003@192.168.2.210 [BREAK]
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:397 (sofia/internal/1003@192.168.2.210) Running State Change CS_REPORTING
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:607 (sofia/internal/1003@192.168.2.210) State REPORTING
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:53 sofia/internal/1003@192.168.2.210 Standard REPORTING, cause: NORMAL_CLEARING
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:607 (sofia/internal/1003@192.168.2.210) State REPORTING going to sleep
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:410 (sofia/internal/1003@192.168.2.210) State Change CS_REPORTING -> CS_DESTROY
2009-10-13 19:43:37.315472 [DEBUG] switch_core_session.c:1067 Session 7 (sofia/internal/1003@192.168.2.210) Locked, Waiting on external entities
2009-10-13 19:43:37.315472 [NOTICE] switch_core_session.c:1085 Session 7 (sofia/internal/1003@192.168.2.210) Ended
2009-10-13 19:43:37.315472 [NOTICE] switch_core_session.c:1087 Close Channel sofia/internal/1003@192.168.2.210 [CS_DESTROY]
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:559 (sofia/internal/1003@192.168.2.210) State DESTROY
2009-10-13 19:43:37.315472 [DEBUG] mod_sofia.c:255 sofia/internal/1003@192.168.2.210 SOFIA DESTROY
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:60 sofia/internal/1003@192.168.2.210 Standard DESTROY
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:559 (sofia/internal/1003@192.168.2.210) State DESTROY going to sleep
2009-10-13 19:43:37.315472 [DEBUG] switch_core_state_machine.c:559 (sofia/internal/1003@192.168.2.210) State DESTROY going to sleep2nd update.
I followed the steps outlined in the Multi Home Tutorial. and had the same problem. the phone would register but not connect.
I am at a loss on what to do now.
The Doc</domain>
-
I need to set phones to connect to the wan port. (which is currently dynamic, but I am going to change it to fixed).
Not wan port you would connect to a dynamic domain name using dynamic dns or the wan ip address.
or I can
@mcrane:
delete the lan profile and set the internal profile to use the ip address for the lan. Then you can register to the lan ip address and it you still are able to get around NAT issues because the external profile will pickup inbound calls on the WAN ip address where it is listening. For more information about this method take a look at: http://wiki.freeswitch.org/wiki/Multi_home_tutorial
I tried using the http://wiki.freeswitch.org/wiki/Multi_home_tutorial, but I did not know what to do about the lan profile. and the items ext-rtp-ip & ext-sip-ip said that the only allowed values were "Auto" and "Auto-NAT"
As I said before and meant it "delete the lan profile" I will be removing it from the default config in the future. Its easier to no use the lan profile which really is just a copy of the internal profile with the ip addresses set to the lan ip address. Other option is to delete the internal profile and rename the lan profile to internal.xml that way internal will be listening to the lan ip address as stated in the Multi-home_tutorial.
I fixed the external IP to 192.168.2.210, and registered my soft phone to that address. It did not work. I am attaching another part of the log.
Not enough details. "I fixed the external IP to 192.168.2.210" on what profile? If you did this to the internal profile and you are trying to do the multi-home tutorial then that is correct if you did it to the external profile then change it back to the default.
After you making changes to the sip profiles you need to restart FreeSWITCH.
-
I am sorry that I was not clear earlier.
First my setup
WWW –> 1st pfsense box <-- private (192.168.2.xxx) --> pfsense w freeswtich <-- Test (192.168.3.1) --> phoneshere are the things I have done.
1st attempt
#1 set my WAN IP port to fixed in pfsense (192.168.2.210)
#2 set my soft phone to register to 192.168.2.210 (The phones registered and showed up in the status section)
#3 Tried to make a call to extension 1000, the soft phone tells me that it is "Temporally Unavailable 480).2nd attempt
#1 set my WAN IP port to fixed in pfsense (192.168.2.210)
#2 deleted the lan.xml profile
#3 rebooted freeswitch.
#4 set my soft phone to register to 192.168.2.210 (The phones registered and showed up in the status section)
#5 Tried to make a call to extension 1000, the soft phone tells me that it is "Temporally Unavailable 480).3rd attempt
#1 set my WAN IP port to fixed in pfsense (192.168.2.210)
#2 edited the internal.xml file as described in the multi-home tutorial (192.168.3.1 is my phone lan address)
<param name="rtp-ip" value="192.168.3.1">
<param name="sip-ip" value="192.168.3.1">
<param name="ext-rtp-ip" value="192.168.3.1">
<param name="ext-sip-ip" value="192.168.3.1">
#3 rebooted freeswitch.
#4 set my soft phone to register to 192.168.2.210 (The phone would not register)
#5 set my soft phone to register to 192.168.3.1 (The phone registered and showed up in the status section)
#6 Tried to make a call to extension 1000, the soft phone tells me that it is "Temporally Unavailable 480).
#7 edited the file /usr/local/freeswitch/conf/directory/default.xml
<domain name="192.168.3.1">#8 rebooted freeswitch.
#9 set my soft phone to register to 192.168.2.210 (The phone would not register)
#10 set my soft phone to register to 192.168.3.1 (The phone would not register got a forbidden error)
#11 did some reading and found a place in the vars tab to change the domain
#12 edited the file in the vars tab
<x-pre-process cmd="set" data="domain=192.168.3.1">#13 rebooted freeswitch.
#14 set my soft phone to register to 192.168.2.210 (The phone would not register)
#15 set my soft phone to register to 192.168.3.1 (The phone registered and showed up in the status section)
#16 Tried to make a call to extension 1000, the soft phone tells me that it is "Temporally Unavailable 480).I have tried to follow your instructions as close as I was able, please let me know what I am doing wrong. this is driving me nuts.
The Doc.</x-pre-process></domain>
-
Okay now I have a much better understanding of your setup. And multi-home isn't needed because your pfsense freeswitch machine is in the lan. Therefore the default installation would work fine. And the internal and external profiles would automatically pickup the internal LAN ip address which would be correct in this case.
Its not great to double nat the phones so using the phones behind a second firewall may not work too good.
Instead I would likely do this:
www -> pfsense box -> LAN
LAN -> pfSense FreeSWITCH and the phonesOn the pfSense FreeSWITCH server I would open the voip ports or turn off the firewall on pfSense FreeSWITCH server. Its your choice which one.
Firewall Rules.
SIP and RTP ports that would need to be enabled on the WAN rules http://doc.pfsense.org/index.php/FreeSWITCH#Firewall.or
Turn off the firewall.
System -> Advanced -> Disable Firewall -> check the box and press 'save'.Having said that your issues is not likely your FreeSWITCH setup. The issue is probably your polycom phone setup. To find out where the problem is for sure setup two xlite soft phones then call between them if that works then that idenitifies the problem.
You can verify each soft phone's setup is correct by calling *9999 which is the music on hold.Using two soft phones that are known to work gets you a second opinion and actually gets you somewhere with your trouble shooting.
-
I would like to setup the system as multi-homed. this is because after I get it working I will be installing this at a my work, where pfsense will be the firewall.
you are right, if I was going to connect the phones to the 192.168.2.1 network I do not need multi host. but I am connecting them to 192.168.3.1. I will try to enable the SIP and RTP ports and see what that does.
Thanks.
The Doc -
SIP uses two connections SIP to control the call setup and tear down and RTP to transfer the media whether it is audio or video. SIP's split design is nice because the RTP can be passed up to the upstream provider thus skipping the middle man. However this design does not work easily with NAT. Double NAT increases the complexity. The pfSense FreeSWITCH package binds to the WAN interface which puts the phone system outside of NAT.
But the problem you experienced is definitely not a NAT issue and not likely a pfSense FreeSWITCH issue.