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

    Freeswitch question

    Scheduled Pinned Locked Moved pfSense Packages
    17 Posts 4 Posters 7.3k 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.
    • chpalmerC
      chpalmer
      last edited by

      Did you set up your firewall rules to allow connection from wan side?

      Triggering snowflakes one by one..
      Intel(R) Core(TM) i5-4590T CPU @ 2.00GHz on an M400 WG box.

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

        Hi Thanks for your reply chpalmer. what i want is my friend should be able to call me through x-lite with the extension 1002 which i created in freeswitch so we can have unlimited call. is it possible ?
        thanks
        Marks

        1 Reply Last reply Reply Quote 0
        • chpalmerC
          chpalmer
          last edited by

          Yes it should be possible.

          again- Did you set up your firewall rules to allow connection from wan side?    He wont be able to connect if you haven't…

          Triggering snowflakes one by one..
          Intel(R) Core(TM) i5-4590T CPU @ 2.00GHz on an M400 WG box.

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

            Hi chpalmer, thanks for your help.
            yes i did setup firewall: rules as below to allow outside traffic.
            tcp/udp * * 10.0.0.1  16384 - 32768  rtp
            tcp/udp * * 10.0.0.1  5060 - 5080  sip

            this is my sofia status

            sofia status

            Name   Type                               Data State

            internal profile   sip:mod_sofia@74.210.49.xx:5060 RUNNING (0)
                            external profile   sip:mod_sofia@74.210.49.xx:5080 RUNNING (0)
                        74.210.49.xx   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
            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          74.210.49.xx
            SIP-IP          74.210.49.xx
            URL              sip:mod_sofia@74.210.49.xx:5060
            BIND-URL        sip:mod_sofia@74.210.49.xx: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

            this is what freeswitch configured. what i want is my friend should be able to call me on my extension 1001 from his 1002 which is in my freeswitch. i hope this configuration would help.
            thanks for your great help.
            Mark

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

              UPDATE: Finally manage to place calls between 2 extensions one is remote extension and one is local. had to play with the NAT. but still i am registering both extension on port 5060 as internal but still working fine. now the problem is i cant listen my voicemail. when i dial *4000 / 4000 to check the voicemail there is a recording the useris not available.
              any help would be appreciated. i just need a place or hint to play with.
              thanks
              Mark

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

                mraarzoo: in order to see what is going on you can go to the status page and look at the logs. Or you can access FreeSWITCH from the console or through ssh. Console access is available using fs_cli that is in the bin directory.
                cd /usr/local/freeswitch/bin/
                ./fs_cli -H 10.0.0.1
                (assuming in your case that the LAN ip is 10.0.0.1)

                If you have fs_cli open and you make a call to *4000 then it is easier to see what is going on. The *4000 only applies to the latest versions of the freeSWITCH package. If you have an older version then you would need to use 4000 to call voicemail. I suggest you make sure you are running the latest version.

                Additional Info.
                FreeSWITCH by default the internal profile binds to the WAN interface and does not bind to all interfaces. So registrations need to be done to the IP of the WAN. From the internal side of the network access is allowed by default. If you want to have extensions connect from the outside of the WAN then you need to allow SIP and RTP to the WAN interface IP. Before doing that make sure your extensions have strong passwords.

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

                  hi, this is what i received when i dial 4000. can you please help me why i am not able to check voicemail.
                  thanks

                  a=rtpmap:107 BV32/16000
                  a=rtpmap:119 BV32-FEC/16000
                  a=rtpmap:100 SPEEX/16000
                  a=rtpmap:106 SPEEX-FEC/16000
                  a=rtpmap:105 SPEEX-FEC/8000
                  a=rtpmap:98 iLBC/8000
                  a=rtpmap:101 telephone-event/8000
                  a=fmtp:101 0-15
                  a=alt:1 1 : 44DBk81c ++DuT3bS 192.168.0.112 42300

                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [BV32:107:16000:0]/[G722:9:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [BV32:107:16000:0]/[PCMU:0:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [BV32:107:16000:0]/[PCMA:8:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [BV32:107:16000:0]/[GSM:3:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [BV32-FEC:119:16000:0]/[G722:9:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [BV32-FEC:119:16000:0]/[PCMU:0:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [BV32-FEC:119:16000:0]/[PCMA:8:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [BV32-FEC:119:16000:0]/[GSM:3:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [SPEEX💯16000:0]/[G722:9:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [SPEEX💯16000:0]/[PCMU:0:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [SPEEX💯16000:0]/[PCMA:8:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [SPEEX💯16000:0]/[GSM:3:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [SPEEX-FEC:106:16000:0]/[G722:9:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [SPEEX-FEC:106:16000:0]/[PCMU:0:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [SPEEX-FEC:106:16000:0]/[PCMA:8:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [SPEEX-FEC:106:16000:0]/[GSM:3:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [PCMU:0:8000:0]/[G722:9:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2601 sofia_glue_negotiate_sdp() Audio Codec Compare [PCMU:0:8000:0]/[PCMU:0:8000:20]
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:1736 sofia_glue_tech_set_codec() Set Codec sofia/internal/1001@74.210.49.100:5060 PCMU/8000 20 ms 160 samples
                  2009-05-04 22:45:12 [DEBUG] sofia_glue.c:2561 sofia_glue_negotiate_sdp() Set 2833 dtmf payload to 101
                  2009-05-04 22:45:12 [DEBUG] sofia.c:2962 sofia_handle_sip_i_state() (sofia/internal/1001@74.210.49.100:5060) State Change CS_NEW -> CS_INIT
                  2009-05-04 22:45:12 [DEBUG] switch_core_session.c:868 switch_core_session_signal_state_change() Send signal sofia/internal/1001@74.210.49.100:5060 [BREAK]
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:390 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) Running State Change CS_INIT
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:469 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State INIT
                  2009-05-04 22:45:12 [DEBUG] mod_sofia.c:83 sofia_on_init() sofia/internal/1001@74.210.49.100:5060 SOFIA INIT
                  2009-05-04 22:45:12 [DEBUG] mod_sofia.c:111 sofia_on_init() (sofia/internal/1001@74.210.49.100:5060) State Change CS_INIT -> CS_ROUTING
                  2009-05-04 22:45:12 [DEBUG] switch_core_session.c:868 switch_core_session_signal_state_change() Send signal sofia/internal/1001@74.210.49.100:5060 [BREAK]
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:469 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State INIT going to sleep
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:390 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) Running State Change CS_ROUTING
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:472 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State ROUTING
                  2009-05-04 22:45:12 [DEBUG] mod_sofia.c:130 sofia_on_routing() sofia/internal/1001@74.210.49.100:5060 SOFIA ROUTING
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:71 switch_core_standard_on_routing() sofia/internal/1001@74.210.49.100:5060 Standard ROUTING
                  2009-05-04 22:45:12 [INFO] mod_dialplan_xml.c:252 dialplan_hunt() Processing Ali's 1001 Account->4000 in context public
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 parsing [public->unloop] continue=false
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 Regex (PASS) [unloop] ${unroll_loops}(true) =~ /^true$/ break=on-false
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 Regex (FAIL) [unloop] ${sip_looped_call}() =~ /^true$/ break=on-false
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 parsing [public->outside_call] continue=true
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 Absolute Condition [outside_call]
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 Action set(outside_call=true)
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 parsing [public->call_debug] continue=true
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 Regex (FAIL) [call_debug] ${call_debug}(false) =~ /^true$/ break=never
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 parsing [public->public_extensions] continue=false
                  Dialplan: sofia/internal/1001@74.210.49.100:5060 Regex (FAIL) [public_extensions] destination_number(4000) =~ /^(10[01][0-9])$/ break=on-false
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:107 switch_core_standard_on_routing() (sofia/internal/1001@74.210.49.100:5060) State Change CS_ROUTING -> CS_EXECUTE
                  2009-05-04 22:45:12 [DEBUG] switch_core_session.c:868 switch_core_session_signal_state_change() Send signal sofia/internal/1001@74.210.49.100:5060 [BREAK]
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:472 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State ROUTING going to sleep
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:390 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) Running State Change CS_EXECUTE
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:479 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State EXECUTE
                  2009-05-04 22:45:12 [DEBUG] mod_sofia.c:173 sofia_on_execute() sofia/internal/1001@74.210.49.100:5060 SOFIA EXECUTE
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:144 switch_core_standard_on_execute() sofia/internal/1001@74.210.49.100:5060 Standard EXECUTE
                  EXECUTE sofia/internal/1001@74.210.49.100:5060 set(outside_call=true)
                  2009-05-04 22:45:12 [DEBUG] mod_dptools.c:747 set_function() sofia/internal/1001@74.210.49.100:5060 SET [outside_call]=[true]
                  2009-05-04 22:45:12 [NOTICE] switch_core_state_machine.c:172 switch_core_standard_on_execute() Hangup sofia/internal/1001@74.210.49.100:5060 [CS_EXECUTE] [NORMAL_CLEARING]
                  2009-05-04 22:45:12 [DEBUG] switch_channel.c:1612 switch_channel_perform_hangup() Send signal sofia/internal/1001@74.210.49.100:5060 [KILL]
                  2009-05-04 22:45:12 [DEBUG] switch_core_session.c:868 switch_core_session_signal_state_change() Send signal sofia/internal/1001@74.210.49.100:5060 [BREAK]
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:479 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State EXECUTE going to sleep
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:390 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) Running State Change CS_HANGUP
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:430 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State HANGUP
                  2009-05-04 22:45:12 [DEBUG] mod_sofia.c:287 sofia_on_hangup() Channel sofia/internal/1001@74.210.49.100:5060 hanging up, cause: NORMAL_CLEARING
                  2009-05-04 22:45:12 [DEBUG] mod_sofia.c:361 sofia_on_hangup() Responding to INVITE with: 480
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:46 switch_core_standard_on_hangup() sofia/internal/1001@74.210.49.100:5060 Standard HANGUP, cause: NORMAL_CLEARING
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:430 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State HANGUP going to sleep
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:466 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State Change CS_HANGUP -> CS_REPORTING
                  2009-05-04 22:45:12 [DEBUG] switch_core_session.c:868 switch_core_session_signal_state_change() Send signal sofia/internal/1001@74.210.49.100:5060 [BREAK]
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:390 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) Running State Change CS_REPORTING
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:418 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State REPORTING
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:53 switch_core_standard_on_reporting() sofia/internal/1001@74.210.49.100:5060 Standard REPORTING, cause: NORMAL_CLEARING
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:418 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State REPORTING going to sleep
                  2009-05-04 22:45:12 [DEBUG] switch_core_state_machine.c:420 switch_core_session_run() (sofia/internal/1001@74.210.49.100:5060) State Change CS_REPORTING -> CS_DONE
                  2009-05-04 22:45:12 [DEBUG] switch_core_session.c:1000 switch_core_session_thread() Session 74 (sofia/internal/1001@74.210.49.100:5060) Locked, Waiting on external entities
                  2009-05-04 22:45:12 [NOTICE] switch_core_session.c:1018 switch_core_session_thread() Session 74 (sofia/internal/1001@74.210.49.100:5060) Ended
                  2009-05-04 22:45:12 [NOTICE] switch_core_session.c:1020 switch_core_session_thread() Close Channel sofia/internal/1001@74.210.49.100:5060 [CS_DONE]
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:1961 listener_run() Connection Open from 127.0.0.1:64863
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:2084 listener_run() Session complete, waiting for children
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:2117 listener_run() Connection Closed
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:1961 listener_run() Connection Open from 127.0.0.1:16767
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:2084 listener_run() Session complete, waiting for children
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:2117 listener_run() Connection Closed
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:1961 listener_run() Connection Open from 127.0.0.1:19302
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:2084 listener_run() Session complete, waiting for children
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:2117 listener_run() Connection Closed
                  2009-05-04 22:45:29 [DEBUG] mod_event_socket.c:1961 listener_run() Connection Open from 127.0.0.1:52683
                  2009-05-04 22:45:30 [DEBUG] mod_event_socket.c:2084 listener_run() Session complete, waiting for children
                  2009-05-04 22:45:30 [DEBUG] mod_event_socket.c:2117 listener_run() Connection Closed
                  2009-05-04 22:45:30 [DEBUG] mod_event_socket.c:1961 listener_run() Connection Open from 127.0.0.1:25220
                  2009-05-04 22:45:30 [DEBUG] mod_event_socket.c:2084 listener_run() Session complete, waiting for children
                  2009-05-04 22:45:30 [DEBUG] mod_event_socket.c:2117 listener_run() Connection Closed
                  2009-05-04 22:45:30 [DEBUG] mod_event_socket.c:1961 listener_run() Connection Open from 127.0.0.1:8521
                  2009-05-04 22:45:30 [DEBUG] mod_event_socket.c:2084 listener_run() Session complete, waiting for children
                  2009-05-04 22:45:30 [DEBUG] mod_event_socket.c:2117 listener_run() Connection Closed
                  2009-05-04 22:45:30 [DEBUG] mod_event_socket.c:2117 listener_run() Connection Closed

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

                    Are you using the latest version of the package? The latest version I moved all the feature codes so that they all require the * star before the number.

                    The logs show you dialed 4000 instead of *4000. I test with xlite and it does send the *.

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

                      Hi mcrane, thanks for your help. I am using pfsense 1.2.2 and x-lite. when i try to call *4000 or 4000 it gives me an error, the error on x-lite screen is "Called failed: Temporary Unavailable" and the ivr tells you "the person you are calling is unavailable, please try again".
                      do you think i need to reinstall the freeswitch. i already bought linksys spa942 and i will get it by tomorrow. i hope that phone work fine with my current setup. i use to listen to my voice mail through x-lite but now its not working. would appreciate your help.
                      thanks again
                      Mark

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

                        If you call directly through the IVR and press the button for *4000 it will not work because it is expecting between 1-4 digits. I will need to make an adjustment to allow for the additional digit.

                        However *98 is another extension that is setup to get to voicemail.

                        I suggest you use pfSense 1.2.3. The reason why is that if you set the following to Conservative under System -> Advanced -> Firewall Optimization -> Conservative. There was an adjustment to the pfSense in 1.2.3 and 2.0 that will ensure UDP connections are not dropped. VOIP audio uses RTP which uses UDP.

                        Best Regards

                        Mark J Crane
                        pfSense FreeSWITCH package author.

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

                          Thank you so much mcrane, i really appreciate your help. this product is really good. i will install the 1.2.3 as per your suggestion. this product is awsome.
                          thanks
                          Marks

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

                            thanks mcrane, i will install the new version as per your suggestion. would like to thank you for your help.
                            please leave this thread open. i will install the new version of pfsense tonight or tomorrow and will update this post.
                            thanks
                            Marks

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