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.0k 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.
    • T
      thekod
      last edited by

      To avoid 404s on files for this package, I always have to uninstall the package and reinstall…dunno why

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

        Thanks to tusc there should now be mod_shout support which provides support for mp3 audio.

        Also this new build of FreeSWITCH enables mod_siren, and mod_celt both exciting new codecs.

        mod_celt (58kHz audio)
        http://freeswitch.org/node/155

        mod_siren (32 kHz and 64 kHz)
        http://freeswitch.org/node/153

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

          You guys are on fire.

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

            FreeSWITCH package 0.5.6 Fixed an issue with the mod_shout mp3 now really does work.

            Music on hold directory. Can simply add mp3 or wav files to this directory to change the music on hold.
            /usr/local/freeswitch/sounds/music8000

            If SSH is enabled under System -> Advanced -> Enable Secure Shell then you can use SFTP to the folder above. Firefox add on FireFTP works pretty well with SFTP.

            Added package info pointing to:
            http://doc.pfsense.org/index.php/FreeSWITCH

            Free Christmas Music.
            http://feelslikechristmas.com/contemporary-instrumental-christmas-music-mp3s.html

            Instrumental.
            http://expelledthemovie.com/digitaldownloads.php

            Political. Ron Paul theme song
            http://www.aimeeallen.com/RPsong.html

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

              Found a bug in the IVR (Auto Attendant). Its now fixed in version 0.5.7. If you will be using the IVR then please upgrade to 0.5.7 or higher.

              1 Reply Last reply Reply Quote 0
              • J
                jalgaz
                last edited by

                mcrane, thx for your great work!

                I need a litte help.
                How to connect a softphone from WAN to a fs at my LAN. (soft – NAT -- WAN -- NAT -- LAN)
                                                                                                                    A                              B
                I think, in A use stun, in B nated ports 5060-5090 and rtp port to my pfsense
                In A, sjphone in htc touch pda
                Rules in Wan / Lan permit traffic SIP / RTP / STUN
                No firewall in OS Ubuntu

                1.- i create extension 1000, 1001 in context default
                2.- i create extension 1003 in context public
                3.- step 1 ok, calls ok, sofphones can register, but 1003 can't register to fs
                I view freeswitch wiki, but i can't find the solution
                there is not much information in the web
                I modify the external profile, the parameters of sip_port,... no register
                I create doublenat.xml... no register
                At logs no info from attempts to connect.
                Any idea?

                Un saludo from Spain!

                –-----------------------------------
                saludos
                JuanjoA

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

                  Here's some thoughts.

                  I think they should all be context of default.

                  Make an extension 1003 in default and try it on the lan.  When you know it works; apply the same configuration to your softphone.

                  Also; check the logs immediately after it registers (or fails to register) and see if there are any clues there.

                  I hope this helps; I am sure someone else will correct me if I am wrong.

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

                    For extensions that are on the LAN or the WAN 'User Context' should be set to 'default'. It is there as an option for advanced cases. If you have extensions that are coming in from the WAN the only additional thing you need to do this is to set an allow rule to open up the SIP TCP/UDP 5060 - 5090  and RTP UDP 16384 - 32768 ports for the WAN interface.

                    In the past week Sloan Miller started documentation of the FreeSWITCH package at:
                    http://doc.pfsense.org/index.php/FreeSWITCH

                    Over the last three days I've helped add additional documentation to the wiki. Today I've added info on using Video calling between xlite extensions.
                    http://doc.pfsense.org/index.php/FreeSWITCH#Video

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

                      I’ve built a TFTP pfSense package for pfSense 1.2.1 and higher. Still need to implement the DHCP TFTP option. I have some code to do that will likely carefully add it to the package.

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

                        I've got some code for the DHCP option I can PM you if you're interested

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

                          Sure pm it to me. I will compare it with have I have and use the best combination of both.

                          Best Regards!

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

                            If you need a TFTP Server for your phone configuration then install the pfSense TFTP package The following adds a TFTP DHCP option. The manual patch is designed for pfSense 1.2.1 full release.

                            Download the two attached files and then remove the .txt file extension. Then you should have one file named services.inc and the other named services_dhcp.php.

                            Go to the PFSense Menu then Diagnostics -> Command and upload both files. The files will upload to the /tmp/ directory.

                            Run the following shell commands to copy the files to the correct location.
                            cp /tmp/services.inc /etc/inc/services.inc
                            cp /tmp/services_dhcp.php /usr/local/www/services_dhcp.php

                            You can now go to Services -> DHCP Server and set the TFTP Server address.

                            services.inc.txt
                            services_dhcp.php.txt

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

                              Great work on the tftp, I don't personally require it at this time, but for people who need it this will be a lifesaver.

                              Are there a list of steps I can follow to get an IVR working?

                              I added the IVR in the gui with extension 5002 but I'm not sure what else needs to be done.  It doesn't answer or even recognize the extension 5002 I gave the new IVR.

                              I tried looking at the example IVR but isn't making any sense yet.  Not looking for hand-holding, just a quick push in the direction of the correct place to start would be great.

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

                                [IVR Instructions]

                                When you create an IVR of 5002 you it will automatically add a dialplan entry on the 'Dialplan' tab for the extension. First you need to make some recordings for the IVR to use. You make the recordings on the 'Rec' tab by calling 732673 (record) it will ask for a pin number which is the 'admin pin' that is defined on the 'Settings' tab. After you make the recording edit it to give it an intuitive name. Then the recording will be available show up in the menu on the 'IVR' tab. The 'timeout' is how long to wait for key presses (DTMF) after the recording has finished playing. The 'Recording Action' drop down is the recording that will be played if the 'Javascript Condition' is true. If the condition is false then it will play the recording that is chosen in the Recording Anti-Action. For most systems the 'Javascript Condition' will a good start and work for most systems. It checks to see if the time is between 9-5pm, and that is Monday - Friday, and not one of the predefined holidays.

                                Now you need to add the auto attendant 'options.' Start with the 'Action' options first. If my recording said the following: "Thank you for calling press 1 for Sales 2 for Support 3 to hear the options again." Then the first 'Option Number' would be '1' set the drop down 'Type' to 'extension' then the destination could be the extension for the Sales person. If you have more than one Sales person you might want to setup a group and transfer the call to the group. For more information on the groups look at the wiki at: http://doc.pfsense.org/index.php/FreeSWITCH click on 'Save.' Now add the 2. The third option to hear the options again can be done with 'Type' extension and a 'Destination' of 5002. There is special option number 't' it is what will happen when the timeout is reached. The timeout could be redirected back to 5002 or to a specific extension, or omitted and the call will end.  With the default condition the 'Action' options are 'Office Hours' and the Anti-Action options are the 'After Hours'. However you can replace the 'Javascript Condition' with the following: condition=true; in this case the Anti-Action options will never be used. This is useful for sub IVR menus such as a Directory. A directory would not make sense to use a time condition. You can access sub IVR by creating an option such as 4 and then creating an IVR at extension 5003. Point the option 4 to use a Type of 'extension' then '5003'.

                                Calls are directed to the 'Anti-Action' options when the condition does not match. The process for adding them is the same as the 'Action' options.

                                After setting up the IVR and you have called it at extension 5002 then you can direct inbound calls to it from the 'Public' tab.

                                Let me know if you have any further questions.

                                Best Regards,
                                Mark J Crane

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

                                  New updates to the FreeSWITCH package 0.5.8.3 and 0.5.8.4.

                                  1. Exposed more paths on the pages that were not showing a file system path.
                                  2. Fixed 'realm' on the gateways tab so that it saves the realm correctly.
                                  3. Clarified wording on the extensions edit page to give more direct instructions on how to enable 3 digit extensions.

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

                                    Just for information:
                                    Got the following notification message at the bottom when installing the FreeSWITCH package on top of PF1.2.1
                                    "Warning: fclose(): supplied argument is not a valid stream resource in /usr/local/pkg/freeswitch.inc on line 1821"

                                    The package installed fine though…

                                    Best regards
                                    Dan Lundqvist
                                    Stockholm, Sweden

                                    Note:  tried to reinstall to latest version today 6 Jan -09 and also got the following: (but still not a failed install)

                                    Warning: fclose(): supplied argument is not a valid stream resource in /usr/local/pkg/freeswitch.inc on line 1821
                                    Warning: fsockopen(): unable to connect to xx.xx.165.51:8021 in /usr/local/pkg/freeswitch.inc on line 92
                                    Warning: socket_set_blocking(): supplied argument is not a valid stream resource in /usr/local/pkg/freeswitch.inc on line 93

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

                                      Having trouble getting past go on the IVR, not sure if I've messed up something else or if I'm missing a step.

                                      I can create the recording and the IVR gui part seems to work as expected.  I can't get my internal phone to reach anything but the pre-existing 5000 IVR which doesn't even show on the IVR menu.

                                      This is what I see from the freeswitch console:

                                      2009-01-04 17:34:01 [INFO] mod_dialplan_xml.c:233 dialplan_hunt() Processing Adrian Hensler->5002 in context default
                                      2009-01-04 17:34:01 [ERR] ivr_DA5F6494-9E2F-4607-B0D4-73D3DBACA666.js:160 mod_spidermonkey() near  SyntaxError: syntax error             else {
                                      
                                      2009-01-04 17:34:01 [NOTICE] switch_core_state_machine.c:168 switch_core_standard_on_execute() Hangup sofia/internal/2000@adrian.testing.com [CS_EXECUTE] [NORMAL_CLEARING]
                                      2009-01-04 17:34:01 [NOTICE] switch_core_session.c:956 switch_core_session_thread() Session 3 (sofia/internal/2000@adrian.testing.com) Ended
                                      2009-01-04 17:34:01 [NOTICE] switch_core_session.c:958 switch_core_session_thread() Close Channel sofia/internal/2000@adrian.testing.com [CS_HANGUP]
                                      
                                      

                                      Line 160 in that javascript file is just an else line and seems to have nothing to do with the monkey recording?

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

                                        The default IVR on extension 5000 is written in XML. The IVR in this package creates them in javascript. That is why you don't see extension 5000 in the package.

                                        The console information shows that you are getting to the 5002 recording but for some reason it has an error. To know why you are getting an error you need to provide more information.

                                        1. Did you provide action and anti-action options?
                                        2. What numbers did you use for the the options?
                                        3. What kind of actions did you give the options?
                                        4. What version of the package are you running?

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

                                          Hi mcrane, thanks for the reply.

                                          1.  I had 4 actions but no anti actions.  press 1 2 3 4.  I was just trying to get it to answer first, I was going to worry about details later.
                                          2. As above - options were just going to be 1,2,3 or 4.
                                          3. Actions were just going to send to extensions 2000, 2001, 1718, 9656 (one extension points to my cell phone, the other to my parents - the numbers just match the alst 4 digits of their numbers and it's easy to remember)
                                          4.  The newest package at this time.

                                          I was confused with the xml versus javascript bit - your statement clears up a lot of that confusion.  I was sort of looking for my created IVR to show up looking like the example one.

                                          Unless something jumps out at you don't worry about it - I'll clear out my xml and try it again, I'm worried that it's something that I've messed up while tooling around the config files and I really don't want to waste your time looking for something I've done wrong.

                                          Thanks!

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

                                            Nice mention of the freeswitch pfSense package in the freeswitch 1.02 announcement:

                                            http://freeswitch.org/node/157

                                            There are two specific projects that are a part of the ecosystem to keep an eye on. The first is TCAPI - an ambitious project that aims to provide a comprehensive Web-based front-end to FreeSWITCH. The second is pfSense. The pfSense project has incorporated FreeSWITCH as an optional package. This allows pfSense users to set up an appliance that can be a PBX or soft-switch. pfSense and FreeSWITCH user Mark Crane has also added a simple GUI to the pfSense/FreeSWITCH package. Look for more interesting things to come from both of these projects.

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