Asterisk 18.3 FreePBX 15.0.17.34 Can not connect to Asterisk

Hello all, I am very new to FreePBX and this is the first time I am making a major upgrade to the asterisk verison (13.x to 18.x) This is my home lab environment and is not critical.
I am toying around with a cisco 9951 in conjunction with the usecallmanager patch.

SSH’d into the pbx and running asterisk -r shows that asterisk is indeed up and running on 18.3

asterisk-version-change was ran to migrate from 13 to 18. The patch was compiled successfully and installed as per the instructions on usecallmanager.

[root@pbx ~]# asterisk -r
Asterisk 18.3.0, Copyright © 1999 - 2021, Sangoma Technologies Corporation and others.
Created by Mark Spencer
Asterisk comes with ABSOLUTELY NO WARRANTY; type ‘core show warranty’ for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type ‘core show license’ for details.

Connected to Asterisk 18.3.0 currently running on pbx (pid = 12647)

If I’m reading this correctly, you shouldn’t need the usecallmanager patch to connect this phone - it’s straight SIP and H.263: it doesn’t support SCCP at all. Register it as a SIP Phone and go to town.

So unfortunately this is not the case I need to use the sepmac.xml configuration. The phone pulls its configuration from tftpboot successfully but does not register atm. But that is a separate issue. I want to focus on the fact that FreePBX does not see asterisk as up. Nor does asterisk load the SIP module.

The AMI credentials in Advanced Settings need to match the values in /etc/asterisk/manager.conf, is there a mismatch there? Was this working before you ran asterisk-version-switch?

Hey there, Everything was working on asterisk 13 with no issues. As soon as I did the upgrade and patch is when things broke.

Are you referring to the lines
;secret = mysecret
;setvar=PBXACCOUNT=account?

I am curious as to if I have an old version of manager.conf because I don’t see anything relating to credentials other than those 2 lines which appear to be commented out.

Looking a bit deeper it looks like manager.conf isn’t even enabled

[general]
enabled = no

A normal FreePBX manager.conf will look like this:

;
; AMI - Asterisk Manager interface - Generated at 2019-04-15T16:12:27+00:00
;
; FreePBX needs this to be enabled. Note that if you enable it on a different IP, you need
; to assure that this can't be reached from un-authorized hosts with the ACL settings (permit/deny).
; Also, remember to configure non-default port or IP-addresses in amportal.conf.
;
; The AMI connection is used both by the portal and the operator's panel in FreePBX.
;
; FreePBX assumes an AMI connection to localhost:5038 by default.
;
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
displayconnects=no ;only effects 1.6+

[admin]
secret = <<random generated string>>
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate,message
writetimeout = 5000

#include manager_additional.conf
#include manager_custom.conf

If you are missing the content of manager.conf, I don’t see any way that asterisk-version-switch could have done that. It looks like you’ve done something to write asterisk sample config, in which case many other files will be corrupted as well.

I do recall a portion of the instructions for usecallmanager that mentions certain sample config that is required for the patches use. I don’t have permissions to post a link to those instructions but let me give this a shot here. (usecallmanager.nz) the patching asterisk page. However this does not mention any configurations for manager.conf.

Below is the configuration I have.

;
; AMI - The Asterisk Manager Interface
;
; Third party application call management support and PBX event supervision
;
; Use the "manager show commands" at the CLI to list available manager commands
; and their authorization levels.
;
; "manager show command <command>" will show a help text.
;
; ---------------------------- SECURITY NOTE -------------------------------
; Note that you should not enable the AMI on a public IP address. If needed,
; block this TCP port with iptables (or another FW software) and reach it
; with IPsec, SSH, or SSL vpn tunnel.  You can also make the manager
; interface available over http/https if Asterisk's http server is enabled in
; http.conf and if both "enabled" and "webenabled" are set to yes in
; this file.  Both default to no.  httptimeout provides the maximum
; timeout in seconds before a web based session is discarded.  The
; default is 60 seconds.
;
[general]
enabled = no
;webenabled = yes

port = 5038
bindaddr = 0.0.0.0

; Parameters that control AMI over TLS. ("enabled" must be set too).
; You can open a connection to this socket with e.g.
;
;       openssl s_client -connect my_host:5039
;
;tlsenable=no           ; set to YES to enable it
;tlsbindaddr=0.0.0.0:5039               ; address and port to bind to, default to bindaddr and port 5039
;tlscertfile=/tmp/asterisk.pem  ; path to the certificate.
;tlsprivatekey=/tmp/private.pem ; path to the private key, if no private given,
                                ; if no tlsprivatekey is given, default is to search
                                                                ; tlscertfile for private key.
;tlscipher=<cipher string>      ; string specifying which SSL ciphers to use or not use
;
;allowmultiplelogin = yes               ; IF set to no, rejects manager logins that are already in use.
;                               ; The default is yes.
;
;displayconnects = yes
;
; Add a Unix epoch timestamp to events (not action responses)
;
;timestampevents = yes

;brokeneventsaction = yes   ; Restore previous behavior that caused the events
                            ; action to not return a response in certain
                            ; circumstances.  Defaults to 'no'.

;
; Display certain channel variables every time a channel-oriented
; event is emitted:
;
; Note that this does incur a performance penalty and should be avoided if possible.
;
;channelvars = var1,var2,var3

; debug = on    ; enable some debugging info in AMI messages (default off).
                ; Also accessible through the "manager debug" CLI command.

; authtimeout specifies the maximum number of seconds a client has to
; authenticate.  If the client does not authenticate beofre this timeout
; expires, the client will be disconnected. (default: 30 seconds)

;authtimeout = 30

; authlimit specifies the maximum number of unauthenticated sessions that will
; be allowed to connect at any given time.

;authlimit = 50

;httptimeout = 60
; a) httptimeout sets the Max-Age of the http cookie
; b) httptimeout is the amount of time the webserver waits
;    on a action=waitevent request (actually its httptimeout-10)
; c) httptimeout is also the amount of time the webserver keeps
;    a http session alive after completing a successful action


;[mark]
;secret = mysecret
;deny=0.0.0.0/0.0.0.0
;permit=209.16.236.73/255.255.255.0
;acl=named_acl_example               ; use a named ACL from acl.conf
;
;
;setvar=PBXACCOUNT=edvina
; The setvar option defines channel variables that will be set when this account
; originates a call. You can define multiple setvar= commands for one manager
; user.
;
;eventfilter=Event: Newchannel
;eventfilter=Channel: (PJ)?SIP/(james|jim|john)-
;eventfilter=!Channel: DAHDI/
; The eventfilter option is used to whitelist or blacklist events per user.
; A filter consists of an (unanchored) regular expression that is run on the
; entire event data. If the first character of the filter is an exclamation
; mark (!), the filter is appended to the blacklist instead of the whitelist.
; After first checking the read access below, the regular expression filters
; are processed as follows:
; - If no filters are configured all events are reported as normal.
; - If there are white filters only: implied black all filter processed first,
; then white filters.
; - If there are black filters only: implied white all filter processed first,
; then black filters.
; - If there are both white and black filters: implied black all filter processed
; first, then white filters, and lastly black filters.

;
; If the device connected via this user accepts input slowly,
; the timeout for writes to it can be increased to keep it
; from being disconnected (value is in milliseconds)
;
; writetimeout = 100
;
;displayconnects = yes  ; Display on CLI user login/logoff
;
; Authorization for various classes
;
; Read authorization permits you to receive asynchronous events, in general.
; Write authorization permits you to send commands and get back responses.  The
; following classes exist:
;
; all       - All event classes below (including any we may have missed).
; system    - General information about the system and ability to run system
;             management commands, such as Shutdown, Restart, and Reload. This
;             class also includes dialplan manipulation actions such as
;             DialplanExtensionAdd and DialplanExtensionRemove.
; call      - Information about channels and ability to set information in a
;             running channel.
; log       - Logging information.  Read-only. (Defined but not yet used.)
; verbose   - Verbose information.  Read-only. (Defined but not yet used.)
; agent     - Information about queues and agents and ability to add queue
;             members to a queue.
; user      - Permission to send and receive UserEvent.
; config    - Ability to read and write configuration files.
; command   - Permission to run CLI commands.  Write-only.
; dtmf      - Receive DTMF events.  Read-only.
; reporting - Ability to get information about the system.
; cdr       - Output of cdr_manager, if loaded.  Read-only.
; dialplan  - Receive NewExten and VarSet events.  Read-only.
; originate - Permission to originate new calls.  Write-only.
; agi       - Output AGI commands executed.  Input AGI command to execute.
; cc        - Call Completion events.  Read-only.
; aoc       - Permission to send Advice Of Charge messages and receive Advice
;           - Of Charge events.
; test      - Ability to read TestEvent notifications sent to the Asterisk Test
;             Suite.  Note that this is only enabled when the TEST_FRAMEWORK
;             compiler flag is defined.
; security  - Security Events.  Read-only.
; message   - Permissions to send out of call messages. Write-only
;
;read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan
;write = system,call,agent,user,config,command,reporting,originate,message

Please keep in mind that this is an relatively old installation of FreePBX that has been updated overtime.

You’ve followed a tutorial for compiling asterisk that’s incompatible with FreePBX and unsuitable for the FreePBX Distro. I can’t assist.

Alright, in that case what is the proper way to go about compiling asterisk with this patch that is compatible w/ FreePBX? Or is there a phone out there that you would instead recommend that has a nice display on it?

Step 1 - don’t install the patch. You don’t need it for the SIP version of the Cisco phones. The patch provides SCCP connectivity, which you can’t get on this phone.

Step 2 - install the FreePBX distro ‘as is’ and connect the phone using the normal SIP phone installation process. This will either include using the Open Source EPM or (if you’re feeling adventurous) use the Chan-SCCP-B Driver and the SCCP Manager package to manage the SIP credentialed phone.

You will have to define what nice display means to you. Pretty much all current SIP phones have what I would call a nice display.

Any open SIP device will work with Asterisk. Many beginners get caught in the Cisco trap (myself included). There is a reason they are dirt cheap on fleabay.

As a Sangoma employee I will say that Sangoma phones will provide a solid experience with FreePBX. I shall leave to others to make competing recommendations, there are several.

There are many free or nearly free desktop and mobile soft clients that you can use for testing if you just want to get started right away.

2 Likes

You can use Ciscos with freePBX, but it’s kind of an advanced project…
Here is a tutorial for freePBX 14 and Asterisk 13. The problem is, when you patch Asterisk you are stuck with this version. You can never update your Asterisk version again.
https://wiki.freepbx.org/display/FOP/Cisco

Here you’ll find the patch and config files
https://usecallmanager.nz/patching-asterisk.html

Why do you want to update to Asterisk 18??? Your Cisco phone is more than 10 years old…what do you think would improve with the newest Asterisk version?

I still use Asterisk 13…it’s stable and works…the newest versions of Asterisk are just for beta testers :wink:

Hey! I wanted to move to 18 as it is the new LTS version of asterisk. 13 will be going away at some point and I needed to patch anyways (security and such) I did have this working at one point on 13 just wanted to tinker and get it up on 18.

Support for your Cisco ends in two months…there is a good chance that you wont see any sip-firmware-updates in the future…Asterisk 18 is new and still in development…

That is not how things work

That usecallmanager patch is old cruft that should be avoided. The xml reference is handy though.

Not sure what this is intended to mean. If by ‘in development’ you mean supported, then yes it’s in development. After that it will be end of life. 18 is newer than 16 (which is also supported), but that fact alone does not make it new.

1 Like

Heh, fair enough. Whats the new method?