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 286.4k 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.
    • M
      michaelahess
      last edited by

      I tried that and what I get is the same error and this in the log:

      Connection Closed
      Connection Open from 69.x.x.x:44856
      Session complete, waiting for children

      That IP is my WAN connection. I have a multi-wan setup with a WAN2 connection and port based routing going out. Could that be messing with it or the rules?

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

        If you have Multi-WAN on pfSense then you need to set up a static route to force all voip traffic to the correct WAN IP. To see which one it is registered to you need look at the Status page near the top. There you will see the IP address that FreeSWITCH is bound to.

        1 Reply Last reply Reply Quote 0
        • M
          michaelahess
          last edited by

          I think something else must be broken then. All the status page has is:

          sofia status

          Disconnected, goodbye.
          See you at ClueCon! http://www.cluecon.com/

          sofia status profile internal

          Disconnected, goodbye.
          See you at ClueCon! http://www.cluecon.com/

          sofia status profile external

          Disconnected, goodbye.
          See you at ClueCon! http://www.cluecon.com/

          status

          Disconnected, goodbye.
          See you at ClueCon! http://www.cluecon.com/

          Then show channels and calls with the same message, backup/restore and logs.

          The logs are consistent with my WAN IP on the "connection open from" lines, so I assume that's correct.

          How will a static route only redirect voip traffic, wouldn't I need an outbound rule for that?

          Sorry to be a pain. But thanks for helping!

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

            That normally means FreeSWITCH is not started go to Status -> Services and start FreeSWITCH. If it is started then it is likely getting confused by the multi-WAN.

            1 Reply Last reply Reply Quote 0
            • M
              michaelahess
              last edited by

              Must be confused as it says it's started on the services page. Any thoughts on how to unconfuse it? :)

              1 Reply Last reply Reply Quote 0
              • M
                michaelahess
                last edited by

                I did a reinstall of the package and now get status, tried to connect to the external IP same error, changer ther var to my interal interface IP and still get it too. It still shows my external IP all over the place though….

                sofia status

                Name   Type                               Data State

                internal profile   sip:mod_sofia@69.x.x.x:5060 RUNNING (0)
                                external profile   sip:mod_sofia@69.x.x.x:5080 RUNNING (0)
                              10.54.25.1   alias                           internal ALIASED
                            internal-ipv6 profile           sip:mod_sofia@[::1]:5060 RUNNING (0)
                                  default   alias                           internal ALIASED
                                      nat   alias                           external ALIASED
                                outbound   alias                           external ALIASED

                3 profiles 4 aliases

                sofia status profile internal

                =================================================================================================
                Name            internal
                Domain Name      N/A
                DBName          sofia_reg_internal
                Pres Hosts     
                Dialplan        XML
                Context          public
                Challenge Realm  auto_from
                RTP-IP          69.x.x.x
                SIP-IP          69.x.x.x
                URL              sip:mod_sofia@69.x.x.x:5060
                BIND-URL        sip:mod_sofia@69.x.x.x:5060
                HOLD-MUSIC      local_stream://moh
                OUTBOUND-PROXY  N/A
                CODECS          G722,PCMU,PCMA,GSM
                TEL-EVENT        101
                DTMF-MODE        rfc2833
                CNG              13
                SESSION-TO      0
                MAX-DIALOG      0
                NOMEDIA          false
                LATE-NEG        false
                PROXY-MEDIA      false
                AGGRESSIVENAT    false
                STUN_ENABLED    true
                STUN_AUTO_DISABLE false

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

                  If you want FreeSWITCH to bind to an IP other than the WAN then set 'local_ip_v4' at the top of the 'Vars' tab (vars.xml). For this example the LAN IP is 192.168.0.1.

                  <x-pre-process cmd="set" data="local_ip_v4=192.168.0.1">That would force FreeSWITCH to bind to the LAN. If you do that then you would want to make your extension (phones/softphones) register using the LAN IP address. These notes are also found in the wiki at: http://doc.pfsense.org/index.php/FreeSWITCH</x-pre-process>

                  1 Reply Last reply Reply Quote 0
                  • F
                    freebee
                    last edited by

                    good day for all.
                    in public tab for incoming call, have some way to ignore the value in destination_number argument and go direct to action transfer ? If no, have some argument like "*" (everything that come is a valid condition) ?

                    thanks.

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

                      On the 'Public' tab to create a default path for inbound call routing simply set a 'destination_number' that will never have a match then set an 'anti-action' and now you have a default public route. If you use more than one entry in the 'Public' tab then set a high 'Order' number so that the default route is the last to be processed.

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

                        I tested pfSense 2.0 from a build in the last day or two and FreeSWITCH will install through the package manager now.

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

                          Been a while since I posted however there are a couple new versions available:

                          Version 8.4.1 (approximately)

                          Changes as of the first of the week.
                          Added * to all feature codes a few examples voicemail *4000, conference rooms *3001, call park *5900, call park pickup *5901. This allows extensions, and auto attendant more room by default extensions can now be 100-999 and / or 1000-1999.

                          Added DISA (Direct Inward System Access) this version allows you to call in put in a pin code call internally or externally as desired. Disabled by default. Make sure to change the admin pin code on the 'Settings' tab before enabling it on the 'Dialplan' tab.

                          Created a 'Features' tab and moved Music on Hold, Auto Attendant (IVR), Recordings, Modules and the new DISA feature. This frees up some tab space and provides more room to add more features.

                          Version 8.4.4

                          Moved php files from /usr/local/www/freeswitch to /usr/local/www/packages/freeswitch. I have built several packages in the past 6 months and felt like the /usr/local/www/packages/ seperates the packages cleanly from the pfSense code. I believe I have now moved all my packages that use php code to this directory.

                          Ordered the lists in a logical order for Dialplan (order number), Extensions (ext number), Gateways (gateway name), Public (order number).

                          1 Reply Last reply Reply Quote 0
                          • P
                            phdonnelly
                            last edited by

                            Just downloaded 8.4.5 and I can't seem to enable the DISA functionality; is it actually live yet? I've changed my PIN, but when I go to the dialplan tab I don't see any disa entries there; just the recordings dialplan and my outgoing gateways. I also don't see any disa javascript or php pages extracted anywhere on the system.

                            1 Reply Last reply Reply Quote 0
                            • B
                              bigboy
                              last edited by

                              I have installed the latest Freeswitch 0.8.5.1 but found out that OpenZAP having the following error starting;

                              2009-04-28 12:54:32 [CRIT] zap_io.c:2189 load_config() failure creating span, no such type 'zt'

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

                                phdonelly: After reading your report about DISA I tested further and found a path that sent the disa.js file to the wrong folder. I've got that fixed now. Please give it a try with a recent version and report back how it goes for you.

                                bigboy: OpenZap I believe requires zaptel and that is currently not working. If you want to use phone lines at this moment you need to use a PSTN/PRI to SIP Gateway. Zaptel needs to compiled into the kernel. Right now if you want to get Zaptel compiled then you need to run the developer iso which I believe is a bit outdated. I've done some work on getting compiling support in pfSense but not had the time/money to dedicate to it.

                                1 Reply Last reply Reply Quote 0
                                • B
                                  bigboy
                                  last edited by

                                  mcrane, the problem seems to be in OpenZAP, the Zaptel driver installed and running. OpenZAP was running well with no error before using latest Freeswitch 0.8.5.1.

                                  1 Reply Last reply Reply Quote 0
                                  • 0
                                    0tt0
                                    last edited by

                                    @michaelahess:

                                    Must be confused as it says it's started on the services page. Any thoughts on how to unconfuse it? :)

                                    I've tried testing FreeSWITCH too several times (and have had various problems, some I believe may be admin/config-related and I may return to those later :) ) and have have lots of problem with exactly this. Right now, after upgrading to 0.8.5.1 I cannot stop service on services page. I've seen this earlier too and I think I've seen it concerning other packages as well.

                                    1 Reply Last reply Reply Quote 0
                                    • 0
                                      0tt0
                                      last edited by

                                      2 quick ones.

                                      FYI: I was now able to stop service after reboot.

                                      The tab 'Features' gives me a 404, is that correct?

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

                                        @bigboy:

                                        mcrane, the problem seems to be in OpenZAP, the Zaptel driver installed and running. OpenZAP was running well with no error before using latest Freeswitch 0.8.5.1.

                                        I did rework how the system downloads the files that are used in the package. Perhaps it missed a file that is needed for OpenZap. bigboy: I will send you a private message and work together on this to find the resolution.

                                        @0tt0:

                                        The tab 'Features' gives me a 404, is that correct?

                                        404 means the file is missing. Which is strange I'm using 8.5.1 and 'Features' tab is there on all of my test installs.
                                        Diagnostics -> Command -> PHP Execute
                                        Then run the following and it will download the features and move it to the proper location.

                                        exec("cd /tmp/;fetch http://www.pfsense.com/packages/config/freeswitch/freeswitch_features.tmp");
                                        exec("cp /tmp/freeswitch_features.tmp /usr/local/www/packages/freeswitch/freeswitch_features.php");
                                        unlink_if_exists("/tmp/freeswitch_features.tmp");

                                        Not being able to stop the service not sure what is causing it but I would ssh to your pfSense box and then run /usr/local/freeswitch/bin/./fs_cli -H 192.168.0.1 replace the 192.168 the ip of your LAN. If you are able to connect to it then you can stop it from inside the console.

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

                                          At this time the correct upgrade procedure is to to do the following:

                                          1. Make a backup
                                          FreeSWITCH -> Status -> Backup

                                          2. Now remove the FreeSWITCH package.
                                          System -> Packages -> Installed Packages -> X (remove this package)

                                          3. Install the FreeSWITCH package it will read your configuration from pfSense config and then it will find the FreeSWITCH backup and restore your voicemail, music on hold, scripts, and more.
                                          System -> Packages -> Available … Packages -> FreeSWITCH

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            phdonnelly
                                            last edited by

                                            @mcrane:

                                            phdonelly: After reading your report about DISA I tested further and found a path that sent the disa.js file to the wrong folder. I've got that fixed now. Please give it a try with a recent version and report back how it goes for you.

                                            Just grabbed the latest update everything's (0.8.5.1) and everything's good. The dialplan has a DISA entry and the disa.js file is now present. Thanks for the amazing turnaround time.

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