Quantcast
Channel: FreePBX Community Forums - Latest posts
Viewing all 228122 articles
Browse latest View live

Creating extensions, ivrs, trunks and queues programmatically


PBX VPN tunnel - connect but no audio

$
0
0

To add to this, I’ve now inspected the SIP logs:

SIP initiates correctly to the WAN address of the first firewall.

RTP packets are sent to the local IP of the PBX hence this is why there is no audio.

The question now is why the softphone is trying to send audio to the PBX local IP and not the WAN IP?

Digital Ocean, Debian 12 64 and FreePBX 17 script

$
0
0

Thanks, looks like its the fix, I haven’t had a chance to test as I have had to jump onto a different project but will update the ticket when I do,
Best wishes
Dave

Freepbx 17 and Zulu?

$
0
0

FreePBX 17 is being loosely called beta with an “alpha” tag being more appropriate. A rose by anyother name and all that jazz… The release isn’t expected until sometime in June according to other posts and honestly it will still be buggy then. Currently there are maybe a dozen people poking around on 17 to find and fix bugs. When that number goes in to the hundreds that is when most of the weird bugs will be found and some may be showstoppers. The in-house and community devs simply can’t test for every edge case or use. I guess that is a whole lot of words for stick to 16 if you can because 17 is still a ways off if you want your users happy.

The Road to FreePBX v17 is not as smooth as impression given

$
0
0

As someone who is working on somewhere in the neighborhood of 30ish 3rd party modules this update is taking a bit of effort. That said it is all welcome changes including things being more strict. We got away with murder across the board in php. In some cases it was justifiable homicide because of phpisms. In any case one goal of FreePBX has been broad compatibility which is why Asterisk 11 was supported way longer than anyone wanted. The goal is to accommodate as many users as possible. Getting people to change is like pulling teeth and for every 100 people who want a change there are 300 that hate it. Fortunately a whole bunch of factors came together to force this move of technologies. So there is no more sitting on your hands. That said I as of last year still encounter people running trixbox 2.6. In the right environment with the right setup and a distinct lack of sticky fingers this you can probably run Current versions another 9001 years. The issues are only for those that need/want to migrate for some reasons. The cost of having updates and cool new hotness is the loss of some old stuff that people have to stop using. These updates to code etc are the cost of doing business. Realistically the stuff I am maintaining now has mostly been simple fixes like uninitialized variables. I am happy to help anyone working on open source modules if they get stuck on something.

Seme Attended Transfer

$
0
0

Good morning,

Is there anyway i can achieve the following.

I call from extension A to an outside line and while i hear the progress that it is ringing (before the other end picks up) i want to transfer the call to extension B within the same network so he picks up where i left off from extension A.

Only typical way is to wait for the other end to answer (outside line) then i am given the standard options to do the transfer from extension A to extension B.

Phones being used are Fanvils.

Thank you.

Using FRITZ!Box 6690 as a trunk

$
0
0

Bumping this in case someone had a similar experience.

Login Agent via API

$
0
0

Hi everyone

Our users normally login to a queue through the feature code “45xxx123”. 132 is the queue, xxx the number of the user.
Is it’s possible to run this login command via REST API?

Thanks for your help


Correct update FreePBX 13.0.194.10 to FreePBX 16

$
0
0

I setup freepbx16 but i cant install all updates…

[root@1c-asterisk16 ~]# yum update
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.sangoma.net/?release=7-8.2003.5.el7.sangoma&arch=x86_64&repo=os&dist=$dist&staging=$staging error was
14: curl#7 - “Failed to connect to 2606:4700:10::6816:2096: Network is unreachable”

One of the configured repositories failed (Unknown),
and yum doesn’t have enough cached data to continue. At this point the only
safe thing yum can do is fail.

and when try to update from Admin modules:

Please wait while module actions are performed

Downloading and Installing restapps
Downloading restapps
Error(s) downloading restapps:

How to fix? i use only ipv4 in my network

PHP help to import Contact Manager into Gigaset PRO dect system

$
0
0

I’ve played around Sorvani fanvil script ( freepbx-helper-scripts/ContactManager_to_Fanvil_AddressBook at master · sorvani/freepbx-helper-scripts · GitHub ) to get Gigaset PRO dect system working with Contact Manager as its Central Phonebook.

I basically modified php script (with near-zero knowledge) to have it working with just and only the Contac Manager “work” type of number/contact.
Any further number type added (cell, home, other) will add data messing up the wanted format.

This is the format required by Gigaset system for its phonebook:

<list>
<entry name="MyName" office1="123456789" office2="" surname="" home1="" home2="" mobile1="" mobile2=""/>
<entry name="AnotherName" office1="987654321" office2="" surname="" home1="" home2="" mobile1="" mobile2=""/>
</list>

The problem is all field are required even if empty ( “” )
So the field has to be filled if present or left empty if not.

If useful , this is the last part of cm_to_fv_ab.php I modified (with “office1” bind to “work” $ctype[‘work’]) :

   // output the XML header info
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
    echo "<!DOCTYPE LocalDirectory>\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 "<list>\n";
 
    // Loop through the results and output them correctly.
    // Spacing is setup below in case you wish to look at the result in a browser.
    $previousname = "";
    $firstloop = true;
    foreach ($contacts as $contact) {
        if ($contact['displayname'] != $previousname) {
            if ($firstloop){
                // flip the bit
                $firstloop = false;
            } else {
                // close the previous entry
                echo "/>\n";
            }
            // Start the entry
            echo "<entry ";
            echo "name=\""  . $contact['displayname'] . "\"";
            // set the current name to the previous name
            $previousname = $contact['displayname'];
        }
        if ($use_e164 == 0 || ($use_e164 == 1 && $contact['type'] == $ctype['internal'])) {
            // not using E164 or it is an internal extnsion
            echo " " . $contact['type'] . "=\"" . $contact['number'] . "\" office2=\"\" surname=\"\" home1=\"\" home2=\"\" mobile2=\"\" mobile1=\"\" " ;
        } else {
            // using E164s
            echo " " .  $contact['type'] . "=\"" . $contact['E164'] . "\" office2=\"\" surname=\"\" home1=\"\" home2=\"\" mobile1=\"\" mobile2=\"\" " ;
        }
    }
    // Close the last entry.
    echo "/>\n";
    // Output the closing tag of the root. If you changed it above, make sure you change it here.
    echo "</list>\n";
}

Any good boy ?

Login Agent via API

$
0
0

ChatGPT with Python

import requests

# Asterisk REST API endpoint
base_url = 'http://your_asterisk_server_ip:8088/ari'

# Authenticate with Asterisk
username = 'your_username'
password = 'your_password'
auth = (username, password)

# Create a Stasis application
app_name = 'queue_login_app'

# Handle incoming events
def handle_event(event):
    # Check for the event that triggers queue login
    if event['type'] == 'some_trigger_event':
        # Execute the queue login command via REST API
        queue_number = '45xxx132'  # Construct queue login command
        requests.post(f"{base_url}/channels/{event['channel']['id']}/continue", json={"context": "default", "extension": queue_number}, auth=auth)

# Main function to start the application
def main():
    # Create the Stasis application
    response = requests.post(f"{base_url}/applications", json={"app": app_name, "subscribeAll": "true"}, auth=auth)
    if response.status_code == 201:
        print("Application created successfully.")
    else:
        print("Failed to create application.")
        return

    # Set up event handling
    event_websocket_url = f"ws://{username}:{password}@your_asterisk_server_ip:8088/ari/events?app={app_name}"
    ws = create_connection(event_websocket_url)
    while True:
        event = json.loads(ws.recv())
        handle_event(event)

if __name__ == "__main__":
    main()

CRM Link + Zoho: No call duration nor recording

$
0
0

I’m using the free 1-month trial of CRM Link. I have followed the setup instructions without any issues. When I place an outbound call, I see a new call record in Zoho CRM > Calls. But, there’s two things missing: call duration (always set as 0:00) and call recording (there’s no hyperlink or attachment - I’ve tested with both settings)

I do have recording enabled on the extension making the call, which is also the extension that’s linked to the Zoho user.

Any advice?

SMTP Setup - Still making users pay for an essential and basic thing

$
0
0

I am amazed that in 2024 Sangoma is still squeezing $25 out of people so they can have basic and proper SMTP services for their FreePBX systems. This isn’t 2014 where a system with questionable or incomplete SMTP setups can freely send mail to destinations and it be accepted. Modern SMTP services expect SMTP to be handled properly these days and an improper SMTP setup can get a FreePBX system blocked on mail services the user is dependant on.

Why is it that FreePBX still requires the admin to either know about the ins/outs of SMTP and understand how to modify Postfix to send directly or through SMTP Relay. Or they can shell out $25 to get it exposed in the GUI so their PBX can send notifications properly?

Is there a logical reason for this or does it break down to the age ole “it’s a revenue stream” logic?

Login Agent via API

Freepbx 17 and Zulu?


Hide/Disable Recording for CDR Reports

$
0
0

Welcome to the forum!

There’s no supported way to do this, but could be done by modifying the CDR module code.

Hide/Disable Recording for CDR Reports

$
0
0

Hi Igaetz. Thank you so much for the welcome.

I would like to know how to accomplish this using the method you mentioned.
Can you provide me with detailed steps? Thank you very much.

SMTP Setup - Still making users pay for an essential and basic thing

$
0
0

Do you have a scenario other than GMail where the Sys Admin postfix configuration GUI actually works?

I have found myself down in the postfix config file almost every time even when the GUI module is available.

As far as commercial modules go, $25 is pretty cheap, and while I don’t think I’d pay it just for the SMTP config, I’d pay it for the rest of the convenience features.

SMTP Setup - Still making users pay for an essential and basic thing

$
0
0

So basically what you’re saying is that even after paying $25 you have to make fixes yourself because what you paid for doesn’t work right? I think that makes it even worse.

FPBX 17 Beta to Stable Question

$
0
0

I’m running FreePBX 17 Beta which comes with free queue features. When FreePBX 17 releases will I be able to lose these features and upgrade to Stable 17? I installed with Debian script on deb12

Viewing all 228122 articles
Browse latest View live