Analog cards FAQ

Q1, You can not make calls from asterisk

there are few reasons why you can not make calls:
1) check your extensions from your asterisk side, make sure your sip is ready to make calls, and SIP is with a right context what you put in extensions.conf
2) your wctdm or opvxa1200 does not boot up(leds are off).
3) leds are up and card driver has boot up properly, but the zapata.conf is
, so asterisk does not boot up properly,
please check by run: zap show channels
if is empty or no such command, you should check your zapata.conf
4) You maybe recompile your zaptel and asterisk again.

Q2, How do you adjust the volume of voice for analog cards?

You can edit the zapata.conf and change rxgain=5 and txgain=6 or other values. you can use ztmonitor to test that.check from here:
http://linux.die.net/man/8/ztmonitor

Q3, You can not hangup calls

To resolve the problem, please check:
1) set timezone and defaulzone to your country, set country=your country in indication.conf and run: modprobe wctdm/opvxa1200 opermode=YOUR country
2) open busydetect=yes and busycount=4
3) ask your provider to open the "disconnect supervision" service check for more details,
please go here:
http://www.asteriskguru.com/tutorials/resolving_hangup_detection_problems_fxo_tdm_voicemail.html

Q4, You can not get the callerid

If you have a problem with callerid, please check with this link:
http://bbs.openvox.cn/viewthread.php?tid=831&extra=page%3D1
or edit the line:
in asterisk/main/dsp.c,
========================

  1. define DTMF_THRESHOLD 8.0e7
  2. define FAX_THRESHOLD 8.0e7
  3. define FAX_2ND_HARMONIC 2.0 /* 4dB */
  4. define RADIO_RELAX // add this line
  5. ifdef RADIO_RELAX
  6. define DTMF_NORMAL_TWIST 

========================= 
after editing, recompiling asterisk.

Q5, Call conversation suddenly dropped

please refer this reference from digium:
Dropped Calls on TDM
If you are having dropped calls on a TDM400P card or an X100P card there are several things that might cause this.
1)BusyDetect
2)CallProgress
BusyDetect and CallProgress may cause Asterisk to detect false hangups. Setting BusyCount to a higher value or turning off CallProgress may fix the problem. An excessive number of IRQMisses may also cause these problems.
link:http://kb.digium.com/entry/71/
3) try to set
/etc/modprobe.conf,install wctdm to:
install wctdm /sbin/modprobe --ignore-install wctdm battdebounce=128 && /sbin/ztcfg

Q6, How can you set the analog card for your country?

To set asterisk pbx with your country support, you must:
1) set timezone and defaultzone to your country in zaptel.conf or system.conf of dahdi
2) set the country=your country in indication.conf
3) modprobe wctdm or opvxa1200 opermode=YOUR country with capital letter.
4) cat the opermode to confirm the parameter has been loaded
[root@bogon misc]# cat /sys/module/wctdm/parameters/opermode
CHINA
[root@bogon misc]#
if using opvxa1200, please run in this way:
cat /sys/module/opvxa1200/parameters/opermode
5) after load the drivers, run dmesg command to check the mode.

Q7, How can you open the debug for asterisk?

1) You can edit the file logger.conf under /etc/asterisk,
enable the debug or error, those message will be stored under
/var/log/asterisk
2) you also can start your asterisk in this way:
asterisk -vvvvvvvvgc -d

Q8, How can i check the IRQ of analog cards?

please run the command:
cat /proc/interrupts
you should see the IRQs, Make sure the card has OWN IRQ, Do NOT share with other devices.
more details, please check from here:
http://www.voip-info.org/wiki/view/Asterisk+PCI+bus+Troubleshooting

Q9, Sound Quality Problems with Analog cards

please refer this link:
http://www.asteriskguru.com/tutorials/pci_irq_apic_tdm_ticks_te410p_te405p_noise.html


Q10, I am hearing an echo. What can I do to fix this?

please refer these links:
http://kb.digium.com/entry/1/
http://www.voip-info.org/wiki/view/Asterisk+echo+cancellation

Q11, Asterisk does not properly detect when a caller hangs up the phone. How do I fix this?

please refer this link:
http://kb.digium.com/entry/6/

Q12, When will the LED's light up on my TDM400P/TE110P/TE2XXP/TE4XXP?

For the TDM400P and TE110P cards, the LED's will not be lit up until the kernel module is loaded. The TDM400P LED's will light up when the ports are configured and the kernel module is loaded. They do not change if a phone or trunk is plugged in or not. The TE110P LED's will light up RED when the span is configured and kernel module is loaded. If configured correctly and a circuit or channel bank is connected the LED should turn GREEN.

For the TE2XXP/TE4XXP the LED's should scroll(knightrider) RED even without the kernel module being loaded or anything plugged in. When you have the spans properly configured and kernel module loaded without a circuit or channel bank the LED's should pulse RED. With the module loaded and a circuit/channel bank connected they should be solid GREEN. link from here:
http://kb.digium.com/entry/13/

Q13, What are the differences between FXS and FXO interfaces?

FXS (Foreign eXchange Station) is an interface which drives a telephone. FXS interfaces get phones plugged into them, delivery battery, and provide ringing. FXS interfaces are signalled with FXO signalling.

FXO (Foreign eXchange Office) is an interface that connect to a phone line. They supply your PBX with access to the public telephone network. FXO interfaces use FXS signalling. FXS interfaces are what allow you to hook telephones to your PBX, and FXO interfaces allow you to connect your PBX to real analog phone lines. 

Q14, What is the difference between loopstart, groundstart, and kewlstart signalling?

Loopstart signalling is used by virtually all analog phone lines. It allows a phone to indicate on hook/offhook, and the switch to indicate ring/no ring.

Kewlstart is based on loopstart, but extends the protocol by allowing the switch to drop battery on the phone line to indicate to the phone that the other end of the party has disconnected the call. Most real phone switches, and almost no PBX's (except Asterisk, of course) support this feature. It is generally required for getting hangup notification.

Groundstart signalling is sometimes used by PBX's. If you don't know what it is, don't worry, you won't need it.

Q15, Why is my card getting an IRQ miss?

Each peice of hardware takes 1,000 interrupts per second. When, for some reason the cards get less than this, an IRQ miss occurs. You can see if the card is missing interrupts using 'zttool.'

IRQ misses can cause different problems with Asterisk. Symptoms of IRQ misses are bad audio quality or perhaps PRI errors, although IRQ misses will not cause alarms. Also DTMF detection not working is something that can be caused by IRQ misses as well.

Several common things that contribute to IRQ misses are: -Running the X window system -Shared IRQs -No hard drive DMA -Hard drive DMA too high (shoot for udma3) -Running serial terminals or frame buffers

To check for shared IRQs you can run:

  1. cat /proc/interrupts
 	CPU0 	 

0 10756672 XT-PIC timer 2 0 XT-PIC cascade 5 10812879 XT-PIC uhci_hcd, uhci_hcd, wctdm 10 226219 XT-PIC t1xxp, CS46XX 11 1550046 XT-PIC eth0, nvidia 12 387234 XT-PIC i8042 14 32641 XT-PIC ide0 15 18 XT-PIC ide1 NMI 0 LOC 10757616 ERR 40481 MIS 0


Notice the T100P card sharing with the sound card, and the TDM400P card is sharing with the USB controller. This will most likely cause problems. If you are not using any USB devices that would probably be ok, but it would be best to disable USB or get the card on it's own IRQ.

There are several ways to move cards to their own IRQ.

   -Turn on APIC
   -Tweak BIOS settings
   -Try a different PCI slot
   -Use setpci

refer this link from digium: http://kb.digium.com/entry/63/

Q16, What should I do if my FXS fails calibration?

Try compiling the kernel without frame buffer support. 
link:http://kb.digium.com/entry/61/

Q17, Why am I having DTMF detection problems?

Zaptel DTMF Detection Problems
DTMF detection problems can be caused by a number of different factors. The most common is running the X Windows System. Another cause of DTMF detection problems is the relaxdtmf option in Zapata.conf. It may need to be turned on or off. If you need to force all DTMF detection to be done in software, you can set vpmdtmfsupport to 0 in wctdm24xxp.c or wct4xxp.c and recompile, or you can specify it as a kernel module option at runtime.

SIP DTMF Detection Problems
If you are having problems sending DTMF digits amd are using a SIP phone, make sure the dtmfmode they have set is the same on the phone and in Asterisk. Also make sure you are not sending both inband and out-of-band (rfc2833) tones.

Q18, I am getting error messages about PCI Master Aborts. What is wrong?

This is a very rare case. When your computer's PCI subsystem experiences serious problems with OpenVox's cards upon initialization of the card, Linux will print out scrolling "PCI Master Abort" messages. What you should do is go into your system's BIOS, and turn off your motherboard's PNP (plug and play) feature. If this does not resolve your issue, You should contact OpenVox support.

Q19, Why is there a pause after the last DTMF digit?

If you are experiencing a delay or pause before the last DTMF digit is dialed on a Zaptel line, this is because you have echotraining enabled in your zapata.conf. The echotraining is done just before the last digit is dialed, thus the reason for the pause. To fix this you can either set a lower value for echotraining or turn it off completely.

Q20, Why am I getting a clicking noise?

If a clicking noise is present when dialing through an FXO or when getting dialtone from an FXS, this is cause by echotraining. Turn it off to get rid of the clicking. The click is necessary for the echotraining.

Q21, list of asterisk pbx distributions:

www.elastix.org
www.trixobx.org

Q22, How can you install asterisk with Debian Ubutun

http://www.debianhelp.co.uk/asterisk.htm
http://www.itinfusion.ca/asterisk/howto-installing-asterisk-on-debian-etch/
http://www.voip-info.org/tiki-index.php?page=Asterisk+Linux+Debian
http://www.voip-info.org/wiki/view/Running+Asterisk+on+Debian
http://www.voip-info.org/wiki/view/Asterisk+Linux+Ubuntu
http://ubuntuforums.org/showthread.php?t=136785

Q23, How can you install asterisk with Fedora?

http://www.voip-info.org/wiki/view/Asterisk+Linux+Fedora
http://www.asteriskguru.com/

Q24, How can you install asterisk with SuSe?

http://www.asteriskguru.com/tutorials/asterisk_installation_compilation_suse.html
http://voip-manager.net/installation-linux-asterisk.php

Q25, install asterisk with Free BSD

http://www.voip-info.org/wiki/view/Asterisk+FreeBSD
http://www.voip-info.org/wiki/view/FreeBSD+zaptel

Q26, List of Asterisk OS Platforms

http://www.voip-info.org/wiki/view/Asterisk+OS+Platforms

Q27, Centos with asterisk

http://www.voip-info.org/wiki/view/CentOS+5.2+and+Asterisk+1.6.x+installation
http://www.voip-info.org/wiki/view/CentOS+5+and+Asterisk+1.4.x+installation
http://www.voip-info.org/wiki/view/Asterisk+Linux+Centos

Q28, A1200P "TRUNK Dial failed due to CONGESTION" Problem

please refer this link:
http://www.openvox.cn/bbs/viewthread.php?tid=739&extra=page%3D1

Q29, A1200P Installation on Ubuntu 8.10 Server

if you have a installation problem with A1200P/A800P,
please refer this:http://bbs.openvox.cn/viewthread.php?tid=819&extra=page%3D1

Q30, Can't retrieve Taiwan's CID

please refer this for your problem:
link:http://bbs.openvox.cn/viewthread.php?tid=726&extra=page%3D3

Q31, FXO sends the digits of speed

if you want to add speed dialup for FXO, please refer this:
http://bbs.openvox.cn/viewthread.php?tid=666&extra=page%3D3


Q32, DID YOU REMEMBER TO PLUG IN THE HD POWER CABLE TO THE TDM400P??

please check from here:
http://www.openvox.com.cn/bbs/viewtopic.php?t=538&sid=cae3adbe99e80f500d9c9ea7edb52bfb
http://www.openvox.cn/download/other_docs/A800P_A1200P_FAQ(Chinese).pdf

Q33, How to install Octasic SoftEcho

please refer these links:
http://www.openvox.cn/download/user_manuals_english_version/Octvqeug_5000.pdf
http://www.octasic.com/en/products/softecho/softecho_asterisk.php
http://www.octasic.com/en/products/softecho/support.php


Q34, Howto: OSLEC echo canceling + DAHDI 2.1.0.4 + Asterisk 1.4

please refer this:
http://www.asterisk.org/forum/viewtopic.php?p=125314&sid=9515c7b03cb14dc698e89467c3d49a86

Q35, Difference between zaptel and dahdi

please refer these links:
http://www.voip-info.org/wiki/view/DAHDI
http://docs.tzafrir.org.il/dahdi-linux/
http://docs.tzafrir.org.il/dahdi-tools/



Q36, Callerid with DTMF and FSK

please refer these links:
http://www.ainslie.org.uk/callerid/cli_faq.htm
http://www.asteriskguru.com/tutorials/calleridall_function.html
https://issues.asterisk.org/view.php?id=7787
http://asterisk.pbx.in/callerid-standards
http://kb.digium.com/entry/3/

A Caller ID issue could be caused by several factors. This section explores the possibility that the issue could be located at the telco or by noise on the lines. 

  • Connect an analog phone to the demarcation point. In telephony, the demarcation point is the point at which the telephone company network ends and connects with the wiring at the customer premises.
  • Place a call -- using another line or mobile phone -- from the PSTN to the analog phone connected at the demarcation point and check if the phone displays Caller ID.  If the Caller ID information is not being shown by the phone, please contact your telco and ask them how to enable this feature.   
  • Otherwise, please disconnect the phone and plug it to the line that is directly connected or closest to your Asterisk server and repeat the test call.

If the analog phone shows the CallerID on every call, we could potentially be facing a misconfiguration of your Asterisk server. The following section will discuss how Caller ID detection works in Asterisk and the different options that you have avaialble. 

In Asterisk, the CallerID detection is done by the chan_dahdi module.  Normally its configuration file is located on /etc/asterisk/chan_dahdi.conf  and there are three variables that control how the feature works:

  • usecallerid: Sets whether to use caller ID, "yes" or "no" are the only available options
  • cidsignalling:  Determine type of caller ID signaling in use. The Caller ID signaling types supported by Asterisk are:
bell: bell202 as used in US (default)
v23: v23 as used in the UK
v23_jp: v23 as used in Japan   
dtmf: DTMF as used in Denmark, Sweden and Netherlands
smdi: Use SMDI for caller ID.  Requires SMDI to be enabled
  • cidstart: Determine signals the start of caller ID. The options supported by Asterisk are:
ring: A ring signals the start (default)
polarity: Polarity reversal signals the start
polarity_IN: Polarity reversal signals the start, DTMF dialtone detection in India
dtmf:  DTMF Caller ID spill begins only with DTMF, at various times before the ring.  This causes Asterisk to   constantly listen for DTMF CallerID signals on the specified channels
If cidstart is configured to use dtmf, the energy level on the line may need to be tuned to properly identify the DTMF tones. This tuning is done with the dtmfcidlevel configuration option. The specified value is compared to the average over a packet of audio level of the absolute value of 16 bit signed linear samples.  The default is set to 256, but this is completely arbitrary.  It must be set high enough to prevent false detections, while low enough to ensure no dtmf spills are missed.
 

dtmfcidlevel=256
 

If you are unsure how to set up these variables. Please contact your telco for more information about the type of signal that the use on the Caller ID (cidsignalling)and when their switches send it (cidstart) 

And example of the default configuration of Asterisk is:

file: chan_dahdi.conf 

[trunkgroups]
...
[channels]
...
usecallerid=yes
cidsignalling=bell
cidstart=ring
...

Note: "..." means that other configuration unrelated to Caller ID could be there.  Please take into consideration that chan_dahdi controls more aspects than the Caller ID. Please do not delete the other variables if you are not sure what those do.

P.S.  We have seen at least once where a telco disabled Caller ID by attenuating the Caller ID signal.  This disables it for Asterisk and DAHDI, but a plain old telephone service (POTS) handset with Caller ID display can still show Caller ID information in this scenario.  If you're sure you have the chan_dahdi.conf settings correct for your location, and you're still not getting Caller ID, be sure to contact the provider and make sure they actually have Caller ID enabled on the line.

Q37, Why are you unable to call out with Asterisk 1.4.22?

If you are using wctdm or opvxa1200 with Zaptel and Asterisk 1.4.22 then there is a known issue with outbound calls. The reason you are not able to call out is because Asterisk 1.4.22 has a new feature which detects if a analog line is plugged in or not, but this feature only works with Dahdi. So to fix the issue you can do one of the following.
edit the file under /asterisk-1.4.22、channels/chan_dahdi.c" find this line

  1. ifdef DAHDI_CHECK_HOOKSTATE return 0;
  2. else return 1;

Change the "0" to a "1"

  1. ifdef DAHDI_CHECK_HOOKSTATE return 1;
  2. else return 1;


Q38, Echotraining and OSLEC

if you use the OSLEC, you must disable the echotraining.
otherwise, the channel will be silent.

Q39, Far side disconnected with disconnect supervisions

possible solutions:
1) Your PSTN provider uses voltage/battery drop for disconnect supervision,
pleas try to edit DCT in zaptel.h to 100 ms or higher.
2) If you PSTN provider provides reverse polarity/battery
disconnect supervision:
hanguponpolarityswitch=yes
answeruponpolarityswitch=yes
3) If your PSTN provider has disconnect/busy tone disconnect supervision
busydetect=yes busycount=6
or try to callprogress, and set your progzone to your country code in zapata.conf 

Q40, Cabling for wctdm and opvxa1200

wctdm/opvxa1200 uses RJ11 cable. please refer this:
http://www.tech-faq.com/rj-11.shtml
http://en.wikipedia.org/wiki/RJ11,_RJ14,_RJ25

Q41, Splitter for A1200P/A800P

http://openvox.cn/products/show.php?itemid=120&lang=2

Q42, Power supply for for wctdm and opvxa1200

If you use FXS with wctdm/opvxa1200, you MUST use 
12v power supply(4 pin Molex power cable) for FXS, please refer this:
http://www.playtool.com/pages/psuconnectors/connectors.html#peripheral
http://en.wikipedia.org/wiki/Computer_power_supply

Q43, Configuring systems for the UK (various country specific quirks)

if users are in UK, please check the cable and callerid set from here: Interfacing with the UK Analogue telephone network This is a how to for connecting your fonicavoip PABX to analogue phone lines in Britain. Our signalling protocols on analogue phone lines date back to the days of the Government owned General Post Office, and are different from those used in America or mainland Europe. Wiring

The UK uses a unique telephone socket called a BS6312 socket or "BT socket", which is different from the RJ11 plug commonly used elsewhere. To connect most line cards to the telephone line you need a BT plug to RJ11 plug connector, where pins 2 and 5 of the BT plug are connected to the inner two pins (2 and 3) of the RJ11 plug. Most phone leads supplied for recent analogue modems are wired in this way but beware - there are two kinds of these leads on the market - one commonly used with older (1990s) BT phones and modems has the phone line on the outer two pins of the RJ11. This will not at all with single line RJ11 sockets found on line cards! Caller ID

On BT lines, Caller ID in the UK is sent before the first ring and after a polarity reversal. These lines must be inserted into your Zaptel or DAHDI conf file so UK caller ID works properly.

usecallerid=yes

cidsignalling=v23

cidstart=polarity Featurelines

These are the UK version of Centrex, and BT often tend to encourage small businesses to take these on on a long term contract with fairly competitive rates. They have the issue that even with a standard phone connected, the trunk requires 9 to be dialled to get an "outside line" as it you were already connected to a PABX - also incoming caller ID is prefixed with this 9.

For an extra charge BT offer "internal extensions" which can be in different sites provided they are connected to the same Telephone Exchange. These usually are two digits long and start with "Extension 20"

With a normal PABX connected to these lines you would need to dial 9 'twice' to get an outside line (or whatever other access code is in use). This is a hassle, and could potentially even lead to false 999 (emergency) calls!

However FreePBX's advanced routing can be used to ensure users only have to dial 9 once for the outside line - and can still make use of the internal extensions - thus getting the best of both worlds.

1. In Trunks

set up your ZAP trunks connected to the Centrex/PABX line for your normal PSTN dial plan but coded to add "9" as if you were dialling from an extension.

For instance

9+999

9+112

9+NXXXXX

9+0.

9+1.


2. In Outbound Routes

Set up 9_outside to point to these trunks


9|.


Now your end users only have to dial "9" once and will get routed to outside line provided it matches your dialplan in trunks.

Now for the Centrex/PABX "extensions":

Choose another number as your "inter-PABX" code. I have picked "8" (as traditionally thats how many British phone systems have been set up).

Set up an outbound route to look for your Centrex/PABX extension dialling pattern after the 8 (remember that my extensions were 20-24)


8|2[01234]


Point this route to the Centrex/PABX trunks on the ZAP channel - and anything prefixed with 8 will be dialled as an "internal" extension.

Incidentally If you don't want to move your users to a longer extension digit length and the Centrex/PABX extensions are all in the same number range you can of course tweak the route to just route all numbers beginning with 2 for instance via this method, provided you don't have any FreePBX extensions in the same number range... BT Line testing and a caveat with current versions of DAHDI (as at 2009-03-15)

Many BT lines are automatically tested every night. This is to test if the cable between the Telephone Exchange and your NTE5 (the line socket) has been damaged. To do this, equipment within the exchange removes the normal dial tone and -50 volts DC (battery) from your line and substitutes it with a variety of DC and AC signals.

This appears to Zap/DAHDI hardware as a series of battery drops and line reversals

Previous versions of zaptel/DAHDI did not check the telephone line for battery voltage. This meant that the reversals picked up from the testing sequence are treated as a a "pre-ring" state (before caller ID) but time out harmlessly, so the channel was only shown unavailable for the duration of the line test (which is a sensible thing to happen).


Newer versions of DAHDI do check the line for battery. This is also sensible, as it stops Asterisk dialling into an unconnected telephone circuit.


Unfortunately, the way Asterisk is currently coded means that if the system is configured for the UK caller ID protocol, any on hook polarity reversal is treated as a precursor to the telephone ringing, when in fact (according to BT's own specifications) line reversals can randomly happen at any time.

Another piece of code inserted to make Asterisk ignore alarms at this time has inadvertently caused the combination of battery drops and reversals to be picked up as a permanent line fault.

This is under investigation at the link below, with a patch available for chan_dahdi.c

http://bugs.digium.com/view.php?id=14163

the original link from: http://www.fonicaprojects.com/wiki/index.php/Configuring_systems_for_the_UK_%28various_country_specific_quirks%29

Q44, User has to make incoming call first, then you can make outgoing calls.

certain versions of asterisk does not detect offhook correctly, there are two ways to use to make your system working as normal status. 1) plug out the fxo cable, then plug back that 2) you have to call in, then you can make outgoing calls. to solve this problem, you have to patch asterisk. this is a patch for asterisk1-6.2.2: --- org_chan_dahdi.c 2010-02-04 21:33:34.000000000 -0500 +++ new_chan_dahdi.c 2010-02-04 21:35:48.000000000 -0500 @@ -198,7 +198,7 @@

 * before dialing on it.  Certain FXO interfaces always think they're out of
 * service with this method however.
 */

-/* #define DAHDI_CHECK_HOOKSTATE */ +#define DAHDI_CHECK_HOOKSTATE

/*! \brief Typically, how many rings before we should send Caller*ID */

  1. define DEFAULT_CIDRINGS 1

@@ -10685,12 +10685,16 @@

                               /* When "onhook" that means no battery on the line, and thus
                                 it is out of service..., if it's on a TDM card... If it's a channel
                                 bank, there is no telling... */

+#ifdef DAHDI_CHECK_HOOKSTATE

                               if (par.rxbits > -1)
                                       return 1;
                               if (par.rxisoffhook)
                                       return 1;
                               else
                                       return 0;

+#else + return 1; +#endif

                       } else if (par.rxisoffhook) {
                               ast_debug(1, "Channel %d off hook, can't use\n", p->channel);
                               /* Not available when the other end is off hook */

more details: https://issues.asterisk.org/file_download.php?file_id=23171&type=bug

Q45, To get the quick support, what information about the system I should send?

  • Versions of kernel and Linux distribution
  • Versions of asterisk and zaptel/dahdi
  • Model of OpenVox products
  • Debug and error information from your system and asterisk
  • Zaptel(zaptel.conf and zapata.conf) or dahdi (system.conf and chan_dahdi.conf) configuration files and extension.conf if your have trouble with dialplan
  • After loading the driver, run the command: demsg and send the information to us
  • Output of the command: cat /proc/interrupts
  • Message in asterisk console when you making a call, if you have trouble to drop/receive calls.
  • Protocols you want to use(FXS,FXO,PRI..)
  • Ssh account with root permission if you need us to check the system.
  • Make a backup for your important files
  • Describe the problem in details
  • Serial numbers of OpenVox's products                             

Q46, How to disable the Linux framebuffer if it's causing problems

The Linux framebuffer allows graphics to be displayed on the console without needing to run X-Windows. However, it can also can cause a variety of problems for Digium interface cards. Here are some symptoms that it may cause:

  • Hard underuns (IE. "wctdm24xxp 0000:01:01.0: Host failed to service card interrupt within 128 ms which is a hardunderun.")

  • IRQ Misses

  • Pattern loopback errors

  • D-Channel drops

  • Unexpected hangups

  • Poor audio quality

Determine if framebuffer is being used

  1. Run the following command from the shell: ls -l /dev/fb*

If the frame buffer is enabled, the above command will usually return /dev/fbX (X being a number; usually 0). For example:  brw-rw---- 1 root disk 8, 0 Jan 12 16:25 /dev/fb0

 

OR 

  1. Run the following command from the shell: grep -i "frame buffer" /var/log/syslog

If the frame buffer is enabled is enabled, it should return something such as:
 

Console: switching to colour frame buffer device 160x64
fb0: inteldrmfb frame buffer device

How to disable Framebuffer

  • Modifying the Grub menu:

    1. Open the Grub menu file (IE. /boot/grub/menu.lst) in a text editor.

    2. One of the following options should disable frame buffering:

      • vga=normal

      • nofb

      • nomodeset

      • video=vesafb:off

      • i915.modeset=0

    3. You would specify one (or more) of the above on the 'kernel' line of the Grub menu file. You can specify them all instead of trying each individual one.

    4. In modern Debian systems (from Wheezy onward), it's best to modify the "linux_entry" function in /etc/grub.d/10_linux, and add the appropriate parameters to the "linux" line.

    5. Open the /etc/grub.d/10_linux file in a text editor and look for the following line:

      • linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}

    6. Change that line to look like this:

      • linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} nomodeset

    7. Save the /etc/grub.d/10_linux file and reboot.

  • Modifying the BIOS:

    1. Go into the systems BIOS to look for the line referring to the frame buffer, and disable it. (Note: The BIOS on some systems does not mention anything about it or provide a way to disable it.)

  • Disabling the KMS (Kernel Mode Setting):

    1. For Debian Wheezy systems with an AMD/ATI video chipset and driver, you can disable the KMS (Kernel Mode Setting), and thus the frame buffer. First, open the /etc/modprobe.d/radeon-kms.conf file in a text editor.

    2. Add the following line to the file:

      • options radeon modeset=0

    3. Save the file and exit from the text editor.

    4. Reboot the system for the change to take effect.

      • (Note: For nVidia based cards, add "nomodeset" to the kernel command line (in /etc/grub.d/10_linux), as the first solution above suggests.)

Q47, Call and Pickup Groups

When creating an extension/channel, you are given the opportunity to set a callgroup and pickupgroup. 

 
The callgroup parameter sets which Call Group that extension/channel is in. This means when a call comes to that Extension/Channel, it belongs to that Call Group. 
 
The pickupgroup parameter sets which Call Groups that extension/channel is able to pickup. 
 
callgroup = 1 
pickupgroup = 1-2 
channel = 1 
 
callgroup = 2 
pickupgroup = 2 
channel = 2 
 
The above example would allow channel 1 to answer calls to Call Group one or two. While channel 2 can only answer calls to Call Group two. 
 
A Feature Code is used to pickup calls from a Call Group. The default feature code for this is '*8#' or '*8'. This must be manually done from an extension/channel that is listed as being able to pick up calls in the Call Group of the ringing extension/channel. 
 
This does not configure any kind of notification system to alert members of pickup groups that a call is available to be picked up. This simply configures the ability to pick up a call if it is already known that a call is available to pick up. For notification of calls to other extensions or channels, Shared Line Appearance may be a solution.
 
Here is the description from the sample chan_dahdi.conf file 
 
; Ring groups (a.k.a. call groups) and pickup groups. If a phone is ringing 
; and it is a member of a group which is one of your pickup groups, then 
; you can answer it by picking up and dialing *8#. For simple offices, just 
; make these both the same. Groups range from 0 to 63. 
callgroup=1 
pickupgroup=1 
 
Here is the description from the sample sip.conf file: 
 
; Call group and Pickup group should be in the range from 0 to 63 
;callgroup=1,3-4 ; We are in caller groups 1,3,4 
;pickupgroup=1,3-5 ; We can do call pickup for call group 1,3,4,5

Q48, What do the SIP Request Methods Mean

  • INVITE: Indicates a client is being invited to participate in a call session.
  • ACK: Confirms that the client has received a final response to an INVITE request.
  • BYE: Terminates a call and can be sent by either side of the call.
  • CANCEL: Cancels any pending request.
  • OPTIONS: Queries the capabilities of servers.
  • REGISTER: Registers the address listed in the To Header field with a SIP server.
  • PRACK: Provisional acknowledgement.
  • SUBSCRIBE: Subscribes for an Event of Notification from the Notifier.
  • NOTIFY: Notify the subscriber of a new Event.
  • PUBLISH: Publishes an event to the Server.
  • INFO: Sends mid-session information that does not modify the session state.
  • REFER: Asks recipient to issue SIP request (call transfer.)
  • MESSAGE: Transports instant messages using SIP.
  • UPDATE: Modifies the state of a session without changing the state of the dialog.

Q49, How to disable the Linux framebuffer if it's causing problems

The Linux framebuffer allows graphics to be displayed on the console without needing to run X-Windows. However, it can also can cause a variety of problems for Digium interface cards. Here are some symptoms that it may cause:
  • Hard underuns (IE. "wctdm24xxp 0000:01:01.0: Host failed to service card interrupt within 128 ms which is a hardunderun.")
  • IRQ Misses
  • Pattern loopback errors
  • D-Channel drops
  • Unexpected hangups
  • Poor audio quality

Determine if framebuffer is being used

  1. Run the following command from the shell: ls -l /dev/fb*
If the frame buffer is enabled, the above command will usually return /dev/fbX (X being a number; usually 0). For example:  brw-rw---- 1 root disk 8, 0 Jan 12 16:25 /dev/fb0
 
OR 
  1. Run the following command from the shell: grep -i "frame buffer" /var/log/syslog
If the frame buffer is enabled is enabled, it should return something such as:
 
Console: switching to colour frame buffer device 160x64
fb0: inteldrmfb frame buffer device

How to disable Framebuffer

  • Modifying the Grub menu:
    1. Open the Grub menu file (IE. /boot/grub/menu.lst) in a text editor.
    2. One of the following options should disable frame buffering:
      • vga=normal
      • nofb
      • nomodeset
      • video=vesafb:off
      • i915.modeset=0
    3. You would specify one (or more) of the above on the 'kernel' line of the Grub menu file. You can specify them all instead of trying each individual one.
    4. In modern Debian systems (from Wheezy onward), it's best to modify the "linux_entry" function in /etc/grub.d/10_linux, and add the appropriate parameters to the "linux" line.
    5. Open the /etc/grub.d/10_linux file in a text editor and look for the following line:
      • linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
    6. Change that line to look like this:
      • linux   ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args} nomodeset
    7. Save the /etc/grub.d/10_linux file and reboot.
  • Modifying the BIOS:
    1. Go into the systems BIOS to look for the line referring to the frame buffer, and disable it. (Note: The BIOS on some systems does not mention anything about it or provide a way to disable it.)
  • Disabling the KMS (Kernel Mode Setting):
    1. For Debian Wheezy systems with an AMD/ATI video chipset and driver, you can disable the KMS (Kernel Mode Setting), and thus the frame buffer. First, open the /etc/modprobe.d/radeon-kms.conf file in a text editor.
    2. Add the following line to the file:
      • options radeon modeset=0
    3. Save the file and exit from the text editor.
    4. Reboot the system for the change to take effect.
      • (Note: For nVidia based cards, add "nomodeset" to the kernel command line (in /etc/grub.d/10_linux), as the first solution above suggests.)


Q50, Unable to power up FXS module

If you have already confirmed that the power cable is in fact plugged into the Molex connector on the analog base card, here are some other steps to try in order to diagnose the cause of the issue.

  1. Try another power cable/connector, to make sure that the connector or cable itself is not bad.
  2. Test the cable to verify whether it is actually providing power.
  3. If the problem is only occurring with some of your FXS modules but not others, try swapping the FXS modules around on the base card to see if the problem follows those modules.
  4. Try re-seating the analog base card by removing it from the PCI or PCI-Express slot and reinserting it.
  5. Try moving the analog card to a different PCI or PCI-Express slot if one is available, to be sure it is not a problem with that particular slot.
  6. If the problem still persists after this, please contact OpenVox Technical Support at +86 137 1448 9316 or send e-mail to support@openvox.cn, and a support representative can assist you with troubleshooting the issue.

Q51, Can I use a Openvox card on a Virtual Environment

No. Installation of OpenVox card on virtualized environments is not a supported implementation by OpenVox Tech Support due to the fact that is kind of environments may have issues meeting the minimum communication performance required between the driver (DAHDI) and the OpenVox card in order to keep a good quality.

Some issues that you could experience on virtualized system are:

  • Latency problems
  • Hardware underruns 
  • Unable to place and receive calls
  • drop calls
  • Audio Quality issues