I’ve had this issue in the past and was only able to rectify it by paying for tech support from Sangoma. I’m hoping to resolve this with the aid of this forum.
Issue: the FXO & FXS ports aren’t being recognized by the system.
The first thing I’d do is stop everything, start DAHDI by hand, then fwconsole start FreePBX.
Next, I’d look at the /var/log/asterisk/full log and see what’s happening with dahdi on the way up.
Dahdi and Asterisk are separate services and are largely unrelated. Asterisk (and hence FreePBX) will look for dahdi running and, if it finds it, interface to it.
So, stepwise refinement is your friend.
Configure DAHDI (which it appears you’ve done).
Restart the system (since the card’s options have changed).
Start Dahdi by hand.
Use the rest of the dahdi management software to make sure the ports are all green.
Repeat until the ports are recognized by the Dahdi software and that the dahdi drivers are getting loaded correctly.
Put your eyes on the /var/log/asterisk/full file using something like the following: tail -F /var/log/asterisk/full | grep dahdi
Start FreePBX
See what errors pop up in the tail command and report back.
At the root cli, “shutdown -r now” would be a pretty good way.
Another approach is “service asterisk stop; service dahdi stop” is another. You should reboot at some point after configuring the device to make sure that the card gets the configured settings.
Here’s what I’ve found in /var/log/asterisk/full log
[2020-04-29 07:52:04] ERROR[3361] chan_dahdi.c: Unable to reconfigure channel ‘3’
[2020-04-29 07:52:04] WARNING[3361] chan_dahdi.c: Channel ‘3’ failure ignored: ignore_failed_channels.
[2020-04-29 07:52:04] WARNING[3361] chan_dahdi.c: Ignoring any changes to ‘signalling’ (on reload) at line 38.
[2020-04-29 07:52:04] ERROR[3361] chan_dahdi.c: Unable to reconfigure channel ‘4’
[2020-04-29 07:52:04] WARNING[3361] chan_dahdi.c: Channel ‘4’ failure ignored: ignore_failed_channels.
Some of the commands didn’t seem to do anything: tail -F /var/log/asterisk/full | grep dahdi Not really sure what I’m suppose to do with this. How does it work, what do I do after I run it?
I’m not really sure what the following command is supposed to do. When I ran it a lot of info went flying past the screen.
“ find / -name 'dahdi*' ”
I’ve included some screen shots of a log fill and error code.
Your configuration is incomplete for your card. Channels 3 & 4 are likely using the wrong signalling.
From the Unix Command Line (log into the server as ‘root’) you can run this program. Once the program starts, it won’t do anything. Hit ^Z and then type ‘bg’ to put the tail program in the background. After that, when you start Asterisk/FreePBX, everything with ‘dahdi’ in the /var/log/asterisk/full log will be displayed on the screen.
Once again, from the root login, the ‘find’ command should be used to locate all of the dahdi_ management programs in the system. Most of them are in ‘/usr/local/bin’ or ‘/usr/local/sbin’. There should be about 15-20 programs that start with dahdi (look for dahdi_test as an example). Each of these program is designed to help you validate your dahdi configuration.
At least you know why Asterisk isn’t recognizing your ports - the dahdi service is failing to start. Without that, asterisk has no way to talk to your dahdi cards.
As I said a couple of days ago, there is a problem in your channel configuration file. How did you configure the config file? IIRC (I don’t have access to an Asterisk server from here), the command is dahdi_config or dahdi_configure.
Try this:
man find
Then use the find command to find all of the dahdi executables.
find /usr -name 'dahdi_*' -executable
The slash is the one under the question mark and the single quotes are the ones the one under the quotation marks. Every letter, space, and punctuation mark is there on purpose. Don’t shortcut anything or replace punctuation with something else.
I configured the config file via command line and ran “setup sangoma”. That’s the only command line configuration I execute on the card. The rest of the configuration is done via the GUI. The A200 card has died twice and each time it occurred after a module update.
I didn’t find a dahdi_config or a dahdi_configure file but I did find a dahdi_cfg file:
[root@localhost ~]# dahdi_cfg
DAHDI_CHANCONFIG failed on channel 1: Invalid argument (22)
Selected signaling not supported
Possible causes:
FXO signaling is being used on a FXO interface (use a FXS signaling variant)
RBS signaling is being used on a E1 CCS span
Signaling is being assigned to channel 16 of an E1 CAS span
find /usr -name 'dahdi_*' -executable produced this:
I’d probably start with the counter-intuitively named “dahdi_genconf” to see if that will generate the configuration. The other commands all do cool trick that you can try once you get the configuration generated and the config applied using “dahdi_cfg”.
[root@localhost ~]# dahdi_genconf
Empty configuration – no spans
Empty configuration – no spans
Empty configuration – no spans
Dave, I have a document that outlines how to install various software packages; one of them being DAHDI. Do you think it would be a good idea to go ahead and re-install the DAHDI package into the /usr/src directory as outlined in the document?
Download Software Packages
The sources for the following three packages are required:
Asterisk (pbx software)
DAHDI (signaling stack)
libPRI (required only for PRI/BRI cards)
Navigate to the /usr/src/ directory which will be used to store the downloaded packages. To do this type the following in your Linux command line, then press <enter>:
-> cd /usr/src
Download Asterisk, DAHDI and LibPRI by copy & pasting the following (without the quotes ""), then press <enter>:
The following instructions will guide you to un-compress the downloaded ‘.tgz’ files and install using make command.
Verify you are still inside the /usr/src/ directory by typing ‘pwd’ in the Linux command line. If you are not, navigate inside by typing ‘cd /usr/src/’ then press <enter>
DAHDI Installation
-> Untar the download DAHDI software package, and then install. Type the following in the /usr/src/ directory:
you are using a Sangoma , you need to first ‘setup’ , part of that offers to provide the DAHDI interface. You threw in VEGA as your platform and RBS/E1 popped up. these pertain to T1/E1 spans, please clarify the hardware involved
I’m using a Sangoma A200 card with a 2 port FXO and 2 port FXS boards being piggyback on to the card. When I run “setup-sangoma” from the command line, the card is recognized as being a A200. Hope this helps.
No operator error here! Only two choices available: T1 & E1. So how do I expand the “Line Mode” drop down box to include other selections? I guess A200 would be one of those? Do I need to do something with the wanpipe/global.conf file and if so what?