Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    FreeSWITCH package for pfSense 1.2.1 and 2.0 released. PBX or Proxy

    Scheduled Pinned Locked Moved pfSense Packages
    314 Posts 39 Posters 285.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      adrianhensler
      last edited by

      Just a guess, is it a stale PID file?  Just go delete that file and try to start freeSwitch again?

      1 Reply Last reply Reply Quote 0
      • C
        Correa
        last edited by

        @adrianhensler:

        Just a guess, is it a stale PID file?  Just go delete that file and try to start freeSwitch again?

        Yeah, I tried that, but didn't help. The file get's recreated again without it ever starting. Strangely enough, it is empty, doesn't contain any PID. I also reinstalled the package and tried to reboot but also no luck. I always get that when I try to start FreeSwitch from the console.

        Update: I talked to mcrane over the irc channel and he said I had to upgrade to 1.2.3 snapshot. After that, it all worked well. If someone has the same problem, probably they need to upgrade as well.

        Thanks.

        1 Reply Last reply Reply Quote 0
        • C
          cybrsrfr
          last edited by

          The FreeSWITCH package requires pfSense 1.2.3 RC1 or higher in other words FreeBSD 7.1 or FreeBSD 7.x.

          1 Reply Last reply Reply Quote 0
          • C
            cybrsrfr
            last edited by

            FreeSWITCH Package new version 0.9.4.1

            1. add ping parameter to advanced gateway options helps keep connections alive behind NAT
            2. fix warning message when a gateway is disabled and later deleted
            3. add sip-force-contact to advanced extension options
            4. comment out the operator extension from the default dialplan
            5. add ability to disable an extension without removing it
            6. add effective_caller_id_name, effective_caller_id_number, outbound_caller_id_name, outbound_caller_id_number to the gateway
            7. patched a bug found with suppress_cng

            1 Reply Last reply Reply Quote 0
            • A
              adrianhensler
              last edited by

              Slow down man, I haven't tried 0.9.3.1 yet!

              ;)

              1 Reply Last reply Reply Quote 0
              • L
                librarymark
                last edited by

                Got a couple of questions:

                I am just getting back to playing with pfsense/freeswitch after being pulled away for a couple of weeks. I upgraded the install.

                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?

                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?

                Thanks again for all your hard work!

                Library Mark

                1 Reply Last reply Reply Quote 0
                • C
                  cybrsrfr
                  last edited by

                  @librarymark:

                  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!

                  @librarymark:

                  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.

                  @librarymark:

                  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.bak

                  You 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.cache

                  @librarymark:

                  Thanks again for all your hard work!

                  You're welcome.

                  1 Reply Last reply Reply Quote 0
                  • L
                    librarymark
                    last edited by

                    Wow, mcrane - you just flat-out rock! Thanks for the info.

                    1 Reply Last reply Reply Quote 0
                    • C
                      cybrsrfr
                      last edited by

                      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_History

                      Also commits to the package can be monitored here.
                      https://rcs.pfsense.org/users/mcrane

                      and here

                      https://rcs.pfsense.org/projects/pfsense-packages

                      1 Reply Last reply Reply Quote 0
                      • S
                        scsikid
                        last edited by

                        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.

                        1 Reply Last reply Reply Quote 0
                        • C
                          cybrsrfr
                          last edited by

                          @scsikid:

                          ./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.

                          @scsikid:

                          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.

                          1 Reply Last reply Reply Quote 0
                          • S
                            scsikid
                            last edited by

                            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?

                            1 Reply Last reply Reply Quote 0
                            • C
                              cybrsrfr
                              last edited by

                              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

                              1 Reply Last reply Reply Quote 0
                              • S
                                scsikid
                                last edited by

                                thanks mcrane

                                1 Reply Last reply Reply Quote 0
                                • S
                                  scsikid
                                  last edited by

                                  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?

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    scsikid
                                    last edited by

                                    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.

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      cybrsrfr
                                      last edited by

                                      What version of the pfsense freeswitch package are you using? freeswitch or freeswitch dev

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        scsikid
                                        last edited by

                                        I'm using freeswitch 0.9.5. On 1.2.3-RC3.

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          DocLove
                                          last edited by

                                          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=42e015

                                          2009-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

                                          1 Reply Last reply Reply Quote 0
                                          • C
                                            cybrsrfr
                                            last edited by

                                            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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.