Quantcast
Channel: FreePBX - FreePBX Community Forums
Viewing all 17504 articles
Browse latest View live

Time condition at an extension level

$
0
0

@a0429 wrote:

Hi :slight_smile:

I don’t believe this is possible and haven’t found anything to what I want to implement exactly, but here goes.

At the moment I have a pretty basic setup where each extension (1000-1400) have their own DDIs XXXXXXX1000-XXXXXXX1400

I would like each DDI to go to a extension, but for it first to match a time condition.

so… XXXXXXX1000 --> Check if it’s between 9am-5pm --> If yes, continue to extension 1000 !–>but if no, then play a closed announcement

Would it be possible to do this without having seperate time conditions for every extension?

I am happy to use a custom context to match the last 4 digits, but this will not always be the case therefore I have decided to have 400 inbound routes and 400 extensions, but I need for it to do a time check before forwarding onto the extension, without having to have 400 time conditions.

Basically, one time condition for all extensions. If it matches then forward onto the original destination, if not, then play a generic announcement.

Thanks for any help in advance :smiley:

Posts: 4

Participants: 2

Read full topic


Scheduled call file suddenly stopped working

$
0
0

@mcisar wrote:

I have a system running 10.13.66-22. No configuration changes to the system in at least 2 years, but updated relatively regularly so it is up-to-date.

The system is configured to do a multicast page announcing the time once per hour by calling this shell script…

#!/bin/bash
ln /var/lib/asterisk/callfiles/clock.call /var/spool/asterisk/outgoing/;

The contents of the call file are thus…

channel: Local/397@from-internal
application: SayUnixTime
data: ,,\'silence/2\' \'current-time-is\' IMp
maxretries: 0
retrytime: 60
waittime: 30
callerid: Talking Clock <60>
priority: 1
Setvar: ALERT_INFO=<Bellcore-dr4>

This has been working like clockwork (no pun intended) since mid-2017 but since last week when I applied the 2 most recent available module updates (which I believe were security fixes) it has stopped working and started growing 100’s and 100’s of the following at the end of the call file…

StartRetry: 2620 1 (1576568623)
DelayedRetry: 2620 0 (1576591203)
DelayedRetry: 2620 0 (1576591263)
DelayedRetry: 2620 0 (1576591323)

If I delete the link from the spool directory, clean up all of that crap from the bottom it simply does the same thing the next hour. However, strangely, if I delete the link and then manually run the shell script from the commandline i get the time announcement just fine. The automated version still fails in the same way on the next invocation though.

I can only assume that since it’s been working since mid-2017 until these two most recent module updates were installed last week that there’s something changed within those two updates causing this. No idea how to troubleshoot beyond what I’ve done though.

Any ideas?

Mike

Posts: 8

Participants: 2

Read full topic

Git cleanup

$
0
0

@jfinstrom wrote:

Currently checking out framework is YUGE

git branch -r --merged origin/release/13.0
git branch -r --merged origin/release/14.0
git branch -r --merged origin/release/15.0

Some may be duplicates as they were merged to multiple branches but all of the following branches have been merged. The .git folder is currently 179MB

  origin/bugfix/FREEI-713-expiring-cert-for-openvpn
  origin/bugfix/FREEI-976-proper-aac-check
  origin/bugfix/FREEPBX-20441-freepbx-13-to-sng7-update-breaks-calling
  origin/bugfix/FREEPBX-20496-apache-errors-when-browsing-admin-gui
  origin/develop
  origin/expose-html5-formats
  origin/feature/new-mirror
  origin/bugfix/FREEI-468
  origin/bugfix/FREEI-564
  origin/bugfix/FREEI-976-proper-aac-check-14
  origin/bugfix/FREEPBX-19561
  origin/bugfix/FREEPBX-19619
  origin/bugfix/FREEPBX-19756
  origin/bugfix/FREEPBX-19993
  origin/bugfix/FREEPBX-20002-make-fwconsole-cron-compatible-with-debian
  origin/bugfix/FREEPBX-20717
  origin/develop
  origin/expose-html5-formats
  origin/feature/new-mirror
  origin/feature/newcrons
  origin/hotfix/curl-class-typo
  origin/imp/FREEI-686
  origin/improvement/FREEI-598
  origin/Bugfix/FREEPBX-12959
  origin/Bugfix/FREEPBX-20291
origin/bugfix/FREEI-468
  origin/bugfix/FREEI-564
  origin/bugfix/FREEI-770
  origin/bugfix/FREEI-976-proper-aac-check-14
  origin/bugfix/FREEPBX-19012
  origin/bugfix/FREEPBX-19561
  origin/bugfix/FREEPBX-19619
  origin/bugfix/FREEPBX-19744
  origin/bugfix/FREEPBX-19751
  origin/bugfix/FREEPBX-19756
  origin/bugfix/FREEPBX-19993
  origin/bugfix/FREEPBX-20002-make-fwconsole-cron-compatible-with-debian
  origin/bugfix/FREEPBX-20179
  origin/bugfix/FREEPBX-20193
  origin/bugfix/FREEPBX-20291
  origin/bugfix/FREEPBX-20467
  origin/bugfix/FREEPBX-20539
  origin/bugfix/FREEPBX-20717
  origin/develop
  origin/expose-html5-formats
  origin/feature/FREEPBX-17765-slow-handling-of-astdb-in-php-asmanager.php
  origin/feature/new-mirror
  origin/feature/newcrons
  origin/feature/nosymlinks
  origin/feature/simplify-devlinks
  origin/hotfix/curl-class-typo
  origin/imp/FREEI-686
  origin/improvement/FREEI-598
  origin/make-moment-happy
  origin/remove-kvstore-migration
  origin/remove-the-hacky-hack

Posts: 3

Participants: 2

Read full topic

Queue question

$
0
0

@chrischevy wrote:

I have a customer with a very specific scenario:

1- IVR answers incoming call and caller dials extension
2- The dialed extension rings for 10 seconds then it rings a queue for another 10 seconds (see below for more details)
3- If the call is not answered from the queue after 10 seconds, it must be sent to the voicemail of the extension dialed at step 2

Here’s how I wanted to configure this:
The queue is configured with dynamic agents. Extensions logged-in in the queue will act as “receptionists” and they will change depending on the staff availability

IVR will not use direct dial. Instead, every extension will have it’s own Ring Group. The extensions numbers will be programmed in the IVR to redirect the calls to the respective Ring Groups (if someone dials 202, the call will go to ring group 8202). Each ring group will ring the extension for 10 seconds, then the queue for 10 seconds (hunt style), then it will failover to the voicemail of the original extension (which is set as the ring group’s “Destination if no answer”)

The problem is, once the call rings the queue, it seems to ignore the ring group’s timeout of 10 seconds and it is instead using the queue’s timeout and queue’s failover destination. I thought (or should I say whished) that since the call goes through the ring group first, and the queue is part of that ring group, that the system would “pull back” the call from the queue once the ring group’s time limit is reached.

I am not sure if I am clear, but I’m scratching my head to make this work.

The only reason for this setup is the need to have a “dynamic reception”, with agents being able to opt-in and opt-out. Otherwise, I wouldn’t need to use a queue.

Does anyone have a clue on how to make this scenario work ?

Posts: 2

Participants: 1

Read full topic

Script for contacts on Yealink no longer works on FreePBX 15 (worked on FreePBX14)

$
0
0

@chrischevy wrote:

Here is a script that I’ve been using for a while to populate the remote address book on yealink phones. I save it as contacts.php in the /var/html/www/ directory:

<?php
/*
The purpose of this file is to read all the Contact Manager entries for the specified group
and then output them in a Yealink Remote Address Book formatted XML syntax.
Instructions on how to use can be found here:
https://mangolassi.it/topic/18647/freepbx-contact-manager-to-yealink-address-book
*/
// Edit this varibale to match the name of hte group in Contact Manager
$contact_manager_group = "Contacts";
header("Content-Type: text/xml");
// get the MySQL/MariaDB login information from the amportal configuration file.
define("AMP_CONF", "/etc/amportal.conf");
$file = file(AMP_CONF);
if (is_array($file)) {
    foreach ($file as $line) {
        if (preg_match("/^\s*([a-zA-Z0-9_]+)=([a-zA-Z0-9 .&-@=_!<>\"\']+)\s*$/",$line,$matches)) {
            $amp_conf[ $matches[1] ] = $matches[2];
        }
    }
}
require_once('DB.php'); //PEAR must be installed
$db_user = $amp_conf["AMPDBUSER"];
$db_pass = $amp_conf["AMPDBPASS"];
$db_host = $amp_conf["AMPDBHOST"];
$db_name = $amp_conf["AMPDBNAME"];
$datasource = 'mysql://'.$db_user.':'.$db_pass.'@'.$db_host.'/'.$db_name;
$db = DB::connect($datasource); // attempt connection
$type="getAll";
// This pulls every number in contact maanger that is part of the group specified by $contact_manager_group
$results = $db->$type("SELECT cen.number, cge.displayname FROM contactmanager_group_entries AS cge LEFT JOIN contactmanager_entry_numbers AS cen ON cen.entryid = cge.id WHERE cge.groupid = (SELECT cg.id FROM contactmanager_groups AS cg WHERE cg.name = '$contact_manager_group');", null);
//dump the result into an array.
foreach($results as $result){
    $extensions[] = array($result[0],$result[1]);
}
// output the XML header info
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
// Output the XML root. This tag must be in the format XXXIPPhoneDirectory
// You may change the word Company below, but no other part of the root tag.
echo "<CompanyIPPhoneDirectory  clearlight=\"true\">\n";
$index = 0;
if (isset($extensions)) {
    // Loop through the results and output them correctly.
    // Spacing is setup below in case you wish to look at the result in a browser.
    foreach ($extensions as $key=>$extension) {
        $index= $index + 1;
        echo "    <DirectoryEntry>\n";
        echo "        <Name>$extension[1]</Name>\n";
        echo "        <Telephone>$extension[0]</Telephone>\n";
        echo "    </DirectoryEntry>\n";
    }
}
// Output the closing tag of the root. If you changed it above, make sure you change it here.
echo "</CompanyIPPhoneDirectory>\n";
?>

It was working fine until I tried to use it on FreePBX 15 for the first time. The result is the same on 2 different system, an XML page with the same data on both systems. The following entries are done on some lines “B” D" “E” “S” “Array” “Array”

In order for the script to work, I have to install PHP-Pear by using the command “yum install -y php-pear-DB”

I’m trying to find out what is wrong with the script but I can’t figure it out (I’m not a very good programmer). Also, I think that the script works as intented since there is an XML array created when I browse the contacts.php page manually. The data “B” D" “E” “S” “Array” “Array” must be coming from somewhere

Posts: 2

Participants: 2

Read full topic

How to write queue log data to asteriskcdrdb queuelog

$
0
0

@DinGoBlue wrote:

Is there a way to configure Freepbx to write queue log data direct to asteriskcdrdb queuelog? Data currrently goes only to the quelogs in /var/logs…

I am trying/hoping to do this through the FreePbx gui as it will potentially save issues when reloading or upgrading.

I am using:
Standard FreePbx with some commercial modules;
FreePbx 14.0.13.12
Asterisk 16.6.2

Most of the stuff I have found on the forum is quite old.
Any help appreciated. Thank you
Regards

Posts: 1

Participants: 1

Read full topic

Possible to disable TLS1.0/TLS1.1 for Freepbx 15 GUI?

$
0
0

@mlaihk wrote:

TLS1.0 and TLS1.1 is going to be rated insecure coming Jan 2020. Is it possible to disable TLS1.0/TLS1.1 for the Freepbx 15 WebUI ?

Posts: 2

Participants: 2

Read full topic

How a cloudbased PBX reaches phones that are behind NAT, am I correct?

$
0
0

@Luke1982 wrote:

OK so I’ve been trying to wrap my head around why my setup functions:

Normally, sending any type of request to a public IP address for a home or business router is dropped unless you explicitly open up a port on your router and forward it to an internal IP address within your LAN.

My phones are in a LAN, behind NAT and the PBX in on a public IP address on a VPN. When someone calls my company, the call travels to the trunk, then to the PBX and the PBX in turn, signals the phones to ring.

So that’s the part that baffles me, since the PBX can’t just send a signal to my router’s public (WAN) IP address. Well, it can, but it will be dropped. So for this to work: does the SIP protocol mean that the phone registers by sending a request similar to an HTTP request to the PBX and tell the NAT router to wait a really, really long time for an answer?

With the above I mean, the PBX doesn’t really send an unsolicited signal to my router, but an answer to a request from a relatively (relative to for instance HTTP requests timing out) old SIP request.

Am I right in assuming that this is how the PBX is able to reach my phones on incoming calls in the first place?

Posts: 4

Participants: 2

Read full topic


Pjsip trunk defaults favor NAT

$
0
0

@billsimon wrote:

A case of broken dialogue…

After some back-and-forth with a PSTN provider about why hangups weren’t getting processed, we found that Asterisk’s BYEs weren’t following the route set but instead being sent back to the (TCP) source port from the original incoming INVITE on the call.

I found two default settings in the pjsip trunk that I think would be uncommon unless you are dealing with a remote NAT, which would not normally apply to trunks, only phones. Namely, “Force rport” and “Rewrite Contact.” Switching these off allowed the request to follow the correct path defined by the route set and Contact header and BYEs worked properly.

Posts: 1

Participants: 1

Read full topic

BLF Key to Open a Door

$
0
0

@Chuckak wrote:

Current PBX Version:14.0.13.12
Current System Version:12.7.6-1910-1.sng7

I have a Viking RC-3 ( 3 relay module) connected to an analog extension port on a Vega 3000.
I can dial the extension type a pin code to access then type a 2 digit code to activate a relay (programmed to engage for 5 seconds)
How do I program this sequence and add it to a BLF button on a users phone?
I want the user to be able to hit a single button to activate the door release relay for 5 seconds.

Posts: 2

Participants: 2

Read full topic

Call an extension that goes to a custom context

$
0
0

@a0429 wrote:

Hi guys,

Another question :smiley:

Within the extension_custom.conf file, I have placed the following context:

[call-file-test]
exten => 10,1,Answer()
exten => 10,n,Wait(1)
exten => 10,n,Playback(hello-world)
exten => 10,n,Wait(1)
exten => 10,n,Hangup()

I have then created a test.call file:
hannel: PJSIP/1000
MaxRetries: 2
RetryTime: 10
WaitTime: 3
Context: call-file-test
Extension: 10

And in the PBX gui, I have created a custom extension 10

In the cli I run:
mv /test.call /var/asterisk/spool/outgoing/

This initiates a call on extension 2000 (physically connected device) and plays the “hello-world” recording.

Is there a way for me to
A) dial this number from a phone so that it rings a group of people and plays the hello-world recording.
B) stops the group of people from hanging up until the message is played then hangs up (or, continues to ring and play until the whole message is played)

I bought the paging pro module following an earlier ticket solution, but it does not quite give me everything I need.

Posts: 15

Participants: 5

Read full topic

IVR Pause?

$
0
0

@jepeis wrote:

Is there a feature code to allow a customer to pause the IVR to receive a code validation call to their DID and then ‘un-pause’ the IVR back to operation?

Posts: 3

Participants: 2

Read full topic

Trunk - Registration

$
0
0

@Raven5650 wrote:

Hi,
i’m new with this Voice software and i’d like your help with my setup of 2 sip trunk with my provider.
My network is the following:
192.168.x.x/24 pbx
192.168.x.x and 192.168.y.y firewall
192.168.y.y modem

In the sip setting i enable NAT with my public IP and in the firewall i enable source NAT. Then i set up the trunk with the following configuration:

outgoing:
host=provider host
username=+39xxxxxxxxx
secret=“secret”
type=friend
qualify=yes
outboundproxy=outgoingproxy1
insecure=invite,port
fromdomain=provider host
fromuser=+39xxxxxxxxx
callreinvite=no
trustrpid=yes
sendrpid=yes
transport=UDP

Registration String:

+39xxxxxxxxx@provider host::+39xxxxxxxxx@provider host@outboundproxy1:5060

in the beginning it was all ok (it gives registered and OK (xx ms)), after a random time the registrations of both trunk became “Request Sent” and the trunk unreachable.
the notice it gives me is:

NOTICE[10741] chan_sip.c: – Registration for ‘+39xxxxxxxxx@outboundproxy1’ timed out, trying again (Attempt #5)

from that point on is impossible to call and the only way to reconnect to trunk is to switch from outboundproxy1 to outbounproxy2 (or viceversa). The trunk return OK and so on until it unregister again.

Am I doing something wrong?

Posts: 2

Participants: 2

Read full topic

No audio after answering

$
0
0

@Whacka wrote:

I have a freepbx installation back home with port 5060 forwarded so i can register phones outside of my network. I have no trunk set up so i don’t care if someone hacks into it. I set up a phone in Germany, it is a Mitel 6863, It registered like no ones business. But the issue is that there is no audio after the call is answered. There is a dialing sound, but there is no audio trading at all. I cannot hear the person on the phone that answered and they cannot hear anything I am saying. Same for the PBX its self. There is no noise when the voice mail answers or when the IVR answers. I have a Cisco SPA set up the same way and it works. Does anyone know why this is not working?

Posts: 6

Participants: 4

Read full topic

Odoo 11 Asterisk or Freepbx Integration

$
0
0

@faisalkhan wrote:

Hi all,

I have setup Odoo 11 and now I want to integrate it with my Freepbx 14. But I can’t find any module in Odoo 11 or by Freepbx to integrate with Odoo11.

If someone can assist me in this I will be really thankful to you.

Posts: 1

Participants: 1

Read full topic


How to Change From IP to domain name

$
0
0

@mudasar321 wrote:

Hi Everyone, right now if I provision Snom or Cisco phones, it’s taking server IP address in proxy or registrar. How do I set to take “my.domain.com” instead IP address?

Posts: 3

Participants: 3

Read full topic

XMPP an TLS Encryption

$
0
0

@rymes wrote:

We are attempting to use FreePBX XMPP, but it is not configured to use any encryption, which is something I consider to be a security flaw. Searching the forums, I found a thread from another user that was able to configure letschat to use TLS here: Xmpp encryption

That thread resulted in a feature request here: https://issues.freepbx.org/browse/FREEPBX-17354

However, that feature request was closed as “WON’T FIX” without any comment as to why. Has anyone else done this, or does anyone have any insight as to why this shouldn’t be set to use encryption out of the box? I’m actually a little shocked that FreePBX would be running the XMPP server without encryption.

Anyhow,I now have it running with TLS, and I see no ill effects, but I expect my changes to the settings.yml to be overwritten by FreePBX at some point, so it would be good to have this work as an official part of the distribution.

Tom

Posts: 1

Participants: 1

Read full topic

Backup - Duplicate backup files

$
0
0

@VoIPTek wrote:

Hello All,

Running a local backup and once the backup is completed, I’m finding 2 of the exact same files.

Details:
PBX: 12.7.6-1910-1.sng7
Backup & Restore15.0.8.80
Filestore Path defined: /var/spool/asterisk/backup/
Backup Job Name: Full-Backup

This image will show you that it’s not a symbolic link and show the files existing in both backup and backup/Full-Backup

I didn’t want to open a bug ticket until someone else could confirm they had the same issue.

Thanks!

Posts: 5

Participants: 2

Read full topic

Sip trunk with multiple A records Qualify problems

$
0
0

@miro_igov wrote:

Hello, my provider have set multiple A records to it’s domain ipx.mixvoip.com.
When i initially register it randomly selects an IP address for example 185.125.183.11 and registers on it.
I have set Qualify frequency to 60 seconds and every minute my PBX sends OPTIONS sip message to random selected IP. If the IP is same as the initial one 185.125.183.11 all works good.
If my PBX picks another IP for example 185.125.183.4, the OPTIONS sip message goes fine and 185.125.183.4 replies 200 OK but 30 seconds later 185.125.183.4 sends wrong packet that generates error in my asterisk log:
[2019-12-19 10:10:42] WARNING[21033] pjproject: SSL 6 [SSL_ERROR_ZERO_RETURN] (Read) ret: 0 len: 32000

In wireshark i see TLSv1 Encrypted Alert .

In the time frame between 200 OK and the Encryptied alert i can see the established connection with tcpdump -tpn | grep 185.125
After it receives Encrypted alert, the connection is closed.

If randomly my PBX picks again 185.125.183.11 and sends OPTIONS there is no alert packet received 30 seconds after.

Is there a config in FreePBX so i can set Qualify requests going always to the first IP where it had been registered? If Qualify fails then FreePBX should try registering again.

Or is there a setting for my provider’s asterisk server so it does not close additional connections with Encrypted alert ?

Posts: 2

Participants: 2

Read full topic

Fail2Ban blocking external IPs, but no inbound ports are open on firewall...how?

$
0
0

@mgoodchild wrote:

Hello community,

I have a new FreePBX install with all SIP endpoints on the local network (no remote clients required). I have one SIP trunk to a provider on the Internet. I have not needed to open any inbound ports (public to private) on our hardware firewall to allow the SIP trunk to connect to our provider and function correctly. Our FreePBX has Fail2Ban enabled.

This being said, we have been seeing a few external IPs being blocked by Fail2Ban. Our hardware firewall shows external IPs trying to connect to our FreePBX on UDP port 5061.

How is this possible given that there are no ports open inbound (public to private) on our hardware firewall? Is our FreePBX sending out an invite?

Thank you in advance,
Matthew

Posts: 1

Participants: 1

Read full topic

Viewing all 17504 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>