Khomp continuously performs tests using diverse versions of Asterisk, since the stable versions of the 1.2 series until the latest versions of the series 1.6.x. However, some special versions are recommended because of stability issues, or not supported, as known issues.
Q: As a quick reference guide, the versions that we recommend:
- Series 1.2: version 1.2.27 or higher;
- Series 1.4: version 1.4.19.2;
- Series 1.6: version 1.6.2.24;
- Series 1.8: version 1.8.12 or higher[1]
Q: Several versions of series 1.4 and some of series 1.6 and 1.8 are not recommended due to problems that affect direct operation, as listed below:
- 1.4.11: memory leak in the call detail record (CDR);
- 1.4.20 to 1.4.24: several problems associated with audio hooks, used for recording and monitoring calls, presenting lack of recording samples;
- 1.4.25: inoperative assisted transfer;
- 1.4.26 to 1.4.28: application Background overwriting the current extension incorrectly upon returning;
- 1.4.29: inoperative assisted transfer, only works if it is redefined as a blind transfer (by means of shutting down the transferor);
- 1.4.30 to 4.34: during an assisted transfer, even when transferor and transferee cancel the call, the softpbx keeps calling the destination (the number where the call was transferred to), causing audio loss or a busy tone if the call is answered;
- 1.6.2.6: RTP ports release not working properly, thus resulting in a ?leak? of descriptors and unused UDP ports, and a possible lack of resources in the long term;
- 1.6.2.13 to 1.6.2.14: deadlock among channel internal structures as calls are transferred, which causes general blocking of the system;
- 1.8.5 to 1.8.10: Answering queue deadlocks, partially solved in version 1.8.12;
- 11.19: problems in extension state and hints;
- 13.3.2 to 13.8:Extension bug state and hints . Crash using queue.
1. Go up? IMPORTANT: Version 1.8.12 has some known and still unsolved problems, please check the patches file in the source distribution of the Khomp channel for information on problems and corrections
Q: Asterisk is not initialized.
Check if k3lserver is in operation, to do that it is necessary to configure an EBS or a board in the interface. To ensure k3lserver will not prevent Asterisk from initializing, use the load-error=skip option in the khomp.conf file.
Q: Xinetd + tftpboot
In environments like Elastix, which use provisioning, port 69 is commonly used by Xinetd or another TFTP server. In this case, the Kibs service which also uses the same port cannot communicate with EBS. To solve that problem, it is necessary to enter //tftpboot in the Alternative Path in /etc/khomp/config/kibs.yaml and restart the Kibs service.
Q: Which ports are used with EBS?
- Ports UDP 37, 69, 14103, 14200, 50000 - 52000;
- Ports TCP 14100, 14101, 14123, 14130, 14161;
- Port UDP and TCP 14102.
Q: What network bandwidth does EBS equipment use?
Khomp recommends using EBS (External Board Series) directly connected to the server using a dedicated and exclusive network board to avoid any type of interference and network competition.
These are the network consumption figures according to each EBS model:
1 canal = 64kb
1 E1 <= 30: 4 Mbps e 250 pacotes/s (1 pacote a cada 4ms contendo 32 amostras de áudio)
2 E1 <= 60: 8 Mbps e 500 pacotes/s (1 pacote a cada 2ms contendo 16 amostras de áudio)
4 E1 <= 120: 16 Mbps e 1000 pacotes/s (1 pacote a cada 1ms contendo 8 amostras de áudio)
EBS FXO 4 portas - 2 Mbps e 150 pacotes/s (1 pacote a cada 8ms contendo 32 amostras de áudio)
EBS GSM 8 Modens - 4 Mbps e 250 pacotes/s (1 pacote a cada 4ms contendo 32 amostras de áudio)
Q: EBS does not upload.
- Make sure the network cable is plugged in;
- Make sure the EBS is on the same IP range as the server;
- Make sure kibs is running;
- Make sure the Firewall is not blocking the ports that EBS uses to communicate with the server;
- Check if the system?s port ?69|37? is being used by a service other than kibs?;
- In ELASTIX environments there may often be a conflict with port 69, so enter //tftpboot in the Alternative Path in /etc/khomp/config/kibs.yaml;
- Make sure no other server is set up with the same device;
- Make sure no other device is using the same IP;
- Check if the fw_ebs.log file was created, and if the device is communicating with the server.
Q: Audio problems.
- Make sure Asterisk is in real time (initialized with -p);
- Check processing;
- Check if the network is losing packages;
- Check for grounding problems.
Q: How to set up the volume of calls in KHOMP channels?
- Volume can be set up in one of the following ways:
- Dial Application
Dial(Khomp/b0c1+b0c14/input_volume=+2:output_volume=+2)
input_volume: Sets the connection input volume, ranging from -10 to +10;
output_volume: Sets the output volume of the connection, which can vary from -10 to +10;
- ?KSetVolume? application. The purpose of this application is to adjust input and output volume in Khomp?s channels, having the following syntax:
KSetVolume(<volume>)
KSetVolume(<input-volume>|<output-volume>)
Where fields have the following meaning:
volume: Ajusta o volume de entrada e saída (-10 a +10);
input-volume: Sets the calls input volume, ranging from (-10 to +10, "none" to not change).
output-volume: Sets the output volume, which can vary from (-10 to +10, "none" to not change);
- Channel configuration (edit the etc/asterisk/khomp.conf file)
input-volume: Sets the input call volume, ranging from -10 to +10 (local option);
output-volume (old "volume"): Sets the output volume of callswhich can vary from -10 to +10 (local option);
Blocking collect calls
- To drop collect calls, use the drop-collect-call = yes option in khomp.conf in the general context or indicate channel groups, as in the example below
channels-b0l0]
drop-collect-call = yes
You can also enable the variable on dialplan:
[default]
exten => _X.,1,Set(KDropCollectCall=yes)
FXS digits timeout
- By default, timeout between FXS digits is 7 seconds. This configuration can be found in the khomp.conf file
?fxs-digit-timemout = 7?
- If the dialplan has no ambiguities, this timeout will not be necessary. As soon as the dialed number matches one dialplan input (but only one), the call will be sent to processing. If the dialplan is generic or has ambiguities, we will have to await timeout to know if the number dialing has finished or not.
- To ignore timeout at the end of the marking and avoid the waiting time for the next digit, we suggest using the immediate-sharp-dial = yes option in the khomp.conf file. This way, if # is marked after the last digit, the call will immediately go forward.
If KHOMP has not approved the GNU/Linux version/distribution that I use, does that mean the board will not work in this distribution, regardless of my kernel?
- KHOMP lists GNU/Linux distributions in which the channel package was compiled and tested. However, as there are several distributions, with several versions and variations, it is not feasible to certify all systems.
That does not mean that if a certain system is not listed as approved it will not work - quite the contrary. The drivers and the installer are designed to work independently of distribution, which makes it easier to install them in several GNU/Linux systems without significant difficulty.
However, some aspects must be checked as requirements for the proper functioning of the drivers:
- Adopted kernel version - all 2.6 series versions are supported, but it is better to use version 2.6.22 or higher;
- GCC compiler version - supported from GCC 3.4 on, GCC 4.1 or higher is recommended;
- Glibc library version - supported from GLIBC 2.3.6 on;
- Asterisk version.
The Message: "chan_khomp: ERROR: loading K3L API failed: Could not connect to k3lServer. Cause [Socket error: Socket=00000026 - Connection refused (error=111) (KTools/KD3/Basics/KClientSocket.cpp:84)]? indicates that the k3lserver is not in operation.
- Check if a device has already been configured in the system, and start the k3lserver service in the interface, or through the k3lserver start command.
While executing Asterisk, I get the following error message when loading chan_khomp.so: "cannot restore segment prot after reloc: Permission denied". What may be going on?
- Latest Linux distributions like Red Hat Enterprise 5.1 and its derivatives (Fedora Core, CentOS) have security directives of the SELinux project enabled as standard. These directives allow a more refined control of the system?s security. However, SELinux also changes some behaviors of the original system, such as in loading dynamic libraries, which can be a problem to third-party programs. To solve the problem, you can:
- Change the security standard context of the Khomp channel executing the following commands:
*chcon --reference=/usr/lib/asterisk/modules/app_dial.so
*/usr/lib/asterisk/modules/chan_khomp.so
*chcon --reference=/usr/lib/asterisk/modules/app_dial.so
/usr/sbin/asterisk
- Completely disable SELinux adjusting the line
SELINUX=disabled
in the file
/etc/sysconfig/selinux
or
/etc/selinux/config