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 300.1k 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.
    • P
      phdonnelly
      last edited by

      @tester_02:

      I also have an issue where if I call in and the calls goes to voicemail, I cannot leave a message.  As I talk into the phone to leave the message, it stops and says it is below minimum record length, even thought I am still talking.  This is not an issue if I am calling from extension to extension.

      Hey, I had the same exact issue with voicemail, just though I'd let you know, placing an "Answer" action immediately before the voicemail action fixed things right up for me. It's odd because it was working before without it, but it's an easy enough fix.

      1 Reply Last reply Reply Quote 0
      • T
        tekoholic
        last edited by

        Although I am not sure, it doesn't seem as if anyone's aware of the issues in the recent several 2.0AA snapshots, with installing FreeSwitch.  Each time I've tried to install it, it hangs at:

        Configuring package components…
        Additional files... libcurl.so.5

        At this point, the whole web-gui hangs, reboot results in errors regarding curl (specifically: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/lib/php/20060613/curl.so' - /usr/local/lib/libcurl.so.5: invalid file format in Unknown on line 0), nothing else works correctly until removal of both of these files and a reload of the 2.0AA full update...

        Not sure if this is best posted here, or on the 2.0AA Problems support section, but it seems to be the only package having this sort of trouble...

        edit:  for the addition of error details...

        Running 2.0-ALPHA, updated almost daily on
        Athlon 1.4Ghz, 768MB PC100, 3 NIC's (2x10/100, 1xGB), 20G HDD,
        Currently Dual-WAN (1 cable 6M/512K, 1 DSL 7M/768K), Single LAN
        Working on adding 1 WiFi WAN and 2 cellular (when we're home with our phones)

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

          pfsense 2.0 package installer seems to have a problem with requesting remote files using libcurl. So for those that really want it I have created a manual install. That is php code that can be run from Diagnostics -> Command -> PHP Execute.

          The manual install php code is attached to this forum post but you have to be logged into the forum to see it.

          pfsense_2.0_manual_install.txt

          1 Reply Last reply Reply Quote 0
          • T
            tekoholic
            last edited by

            @mcrane:

            pfsense 2.0 package installer seems to have a problem with requesting remote files using libcurl. So for those that really want it I have created a manual install. That is php code that can be run from Diagnostics -> Command -> PHP Execute.

            The manual install php code is attached to this forum post but you have to be logged into the forum to see it.

            Mcrane is SO far beyond a Hero Member!!  The code, attached to his previous post, worked wonders getting FS running on the newest snap of 2.0AA.

            What kinda' steaks do ya' like with yer' brew, mcrane?  We'll make a BBQ of it!!

            Running 2.0-ALPHA, updated almost daily on
            Athlon 1.4Ghz, 768MB PC100, 3 NIC's (2x10/100, 1xGB), 20G HDD,
            Currently Dual-WAN (1 cable 6M/512K, 1 DSL 7M/768K), Single LAN
            Working on adding 1 WiFi WAN and 2 cellular (when we're home with our phones)

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

              Some more questions.

              Is anyone using CallForwarding?  I'm not sure it's working for me.  That is to say, it is certainly not working but I'm not sure if it is the phone (Grandstream 2020 and Linksys 962) or if I am doing something wrong.  Is it possible to enable with a code like "*72"

              Also - DISA - is there something precanned to get this to work or should I just be looking at the freeswitch.org examples?

              This example on freeswitch wiki looks good to me but I haven't tried it yet:

              http://wiki.freeswitch.org/wiki/Examples_disa.js

              Thanks for any opinions.

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

                @adrianhensler:

                Is anyone using CallForwarding?  I'm not sure it's working for me.  That is to say, it is certainly not working but I'm not sure if it is the phone (Grandstream 2020 and Linksys 962) or if I am doing something wrong.  Is it possible to enable with a code like "*72"

                When I've done it found that on the Internal profile if aggressive nat detection is enabled it messes up call forwarding to other extensions in some situations. Even with it disabled certain situations call forwarding to an extension has directed the call directly to voice mail. You could troubleshoot the problem using /usr/local/freeswitch/bin/./fs_cli and try to get additional help from #freeswitch IRC channel. Or I have also created a followme.js (simultaneous or in succession) file that could be used to direct calls to more than one number. I'm planning on extending it soon so that you can dial from an extension and get numbers that are chosen through the phone's dial pad. At this moment the file would have to manually be changed. http://wiki.freeswitch.org/wiki/Examples_followme.js

                @adrianhensler:

                Some more questions.
                Also - DISA - is there something precanned to get this to work or should I just be looking at the freeswitch.org examples?

                This example on freeswitch wiki looks good to me but I haven't tried it yet:

                http://wiki.freeswitch.org/wiki/Examples_disa.js

                Thanks for any opinions.

                I wrote that example DISA you linked to so my opinion about it is likely biased. Tonight (technically morning now) I updated the DISA example with a few improvements, improved the instructions on the FreeSWITCH wiki, and then added a link to the recordings that are needed for the DISA script.

                Hope that helps.

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

                  "Hope that helps" he says.

                  You did pretty much everything other than sign in and configure it for me!

                  I'll let you know how I make out.

                  Thanks!

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

                    Real n00b questions here but I can't get x-lite to register, all I get is:

                    Registration error: 408 - Request Timeout

                    I've got this in X-Lite:

                    Display name: FreeSwitch
                    User name: 2001
                    Password: 2001
                    Authorization user name: 2001
                    Domain: 10.x.x.1 (pfSense box)

                    Checked Register with domain

                    What I've done on the pfSense box is:

                    Set domain var to 10.x.x.1
                    Added extension 2001 with above info
                    Changed Default Area Code (not trying to go to an external service, just internal between clients right now)
                    The only dialplan is Recordings

                    Everything under status tab says Disconnected, goodbye….

                    Service says it's running.

                    I've no idea what to do at this point.

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

                      By default FreeSWITCH binds to the WAN IP so if you make xlite register to the WAN IP then it will work fine. If your WAN uses DHCP then I suggest setting up Dynamic DNS inside pfsense and then set the domain variable on the 'Var' tab. Restart FreeSWITCH and point xlite to the domain name.

                      1 Reply Last reply Reply Quote 0
                      • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.