Celliax and echo

Hi all,
i just compiled the last svn release of celliax on my asterisk (based on ubuntu if this can help), but after log "playing" with celliax.conf and alsamixer i still can't find a solution for my problem.

Basically the problem is that in my test configuration:
MOBILE A -> CELLIAX -> EXTENSION 100
when MOBILE A call CELLIAX, celliax pick up the call (and this is ok) but while talking the party on extension 100 can heard his voice back.

So all is ok for MOBILE A (really good voice quality without echo), while EXTENSION 100 can listen MOBILE A talking (very good voice quality) but when he speak he can listen his voice back (like during an echo test).

I tried a lot of configuration without fid a solution.
Please help me :):P

CIAO
Skumpic

Ps. I'm using motorola c350 and it seems to handle really well AT commands

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I did some testing the

I did some testing
the results are the following
When in celliax.conf I set the variable alsa_periods_in_buffer=1
the echo disapper but with it also the sounds that should I receive form the Mobile A.

If i put alsa_periods_in_buffer=2 or more the echo appear again but i can listen MOBILE A talking

ciao
Skumpic

Ciao Skumpic, I have a

Ciao Skumpic,

I have a suspect about... but not sure about :-)

Can you please give us more infos on what happens?

1) what you use at ext100? (I mean an analog normal phone, a SIP or IAX phone, a softphone, etc...)
2) what protocol?
3) the phone at ext100 is local (in the same LAN) or remote?
4) etc, etc ;-)
5) the phone at ext100 works normally when it calls someone else? (for eg. a softphone on the LAN or a local PSTN call)?
6) do you have the same problem if you use something else at ext100 (for eg. a softphone)?

I'm pretty sure that it has nothing to do with the ALSA parameters, you can leave the periods_in_buffer at 4. They just modify a little bit the latency (eg. how much time passes between input and output, between when I speak and when you heard me. A big latency make you think you are talking with someone through a satellite link, but does not contribute to echo).

BTW, my suspect is that your echo is originated by the bad balancing at the device connected to ext100, and you can hear it because of the delay inherent in the celliax_cellphone <-> calling cellphone.

You can see some explanations of the various causes of echo (for PSTN) at http://www.voip-info.org/wiki/view/Causes+of+Echo
and
http://www.voip-info.org/wiki/index.php?page=Echo+and+Sidetone

But, this is just a suspect.

Thanks a lot for your testing efforts,

Giovanni

Hi giovanni, and thanks for

Hi giovanni, and thanks for your reply.
I will try to give you more informations on my configuration.

1) I tried both with a softphone (xlite) and with a phone connected to a sipura 3000 (is an ata).

2) SIP

3) All my stuff is in the same wired lan. i can ping my sipura from my asterisk box in 1ms. I'm not doing any kind of p2p or other massive use of dsl or lan during my test

I tried with 2 different motorola c350 (one completely new, while the other one is a little bit older), and 2 audio card with different chipset, but i can't find a solution for now.

In alsamixer what i should turn on?
May it be caused by the wire or the phone?

The strange thing is that the echo is only in a way (the call side from MOBILE A to ext 100 is perfect).
When ext 100 talk he listen his voice back while MOBILE A can listen all perfectly (without echo)

Sorry for my english
Skumpic

your english is perfect,

your english is perfect, nema problema

I'm not hoping it can be the mixer, but never say never... :-)

Let's check alsamixer...

The best thing is, after executing "alsamixer -V all", to have only "main", "pcm", "capture" not muted, and all the rest muted (you mute a column by pressing "m" on it. You unmute it pressing "m" again. You see the muted state at the bottom of the column).
You have to mute the microphone too!

After muting the microphone, press the space bar on it, so you select it for the capture. Pressing space bar on another column "move" the capture on that other "source" (but you want it on the *muted* microphone column). You see the capture state at the bottom of the column.

A stupid question: it is possible that the person at ext100 is talking loud, and the cellphone picks the person voice? I mean, if they are in the same room, it can happen... This can be both that the "remote (calling)" cellphone picks the voice, or that the "celliax-cellphone (receiving)" picks the voice. If it is the "remote" one, just go out from the room. If it is the celliax-cellphone, maybe the audiocable does not interrupt properly the audio in the cellphone body. Have you tried (during your test call) to speak closely to the celliax-cellphone or to tap on it with an hard object just to see if you can hear that on the ext100 or on the "remote" cellphone?

Please, let us know how it goes!

Giovanni

A stupid question: it is

A stupid question: it is possible that the person at ext100 is talking loud, and the cellphone picks the person voice? I mean, if they are in the same room, it can happen... This can be both that the "remote (calling)" cellphone picks the voice, or that the "celliax-cellphone (receiving)" picks the voice. If it is the "remote" one, just go out from the room. If it is the celliax-cellphone, maybe the audiocable does not interrupt properly the audio in the cellphone body. Have you tried (during your test call) to speak closely to the celliax-cellphone or to tap on it with an hard object just to see if you can hear that on the ext100 or on the "remote" cellphone?

Hi all, with the help of

Hi all, with the help of Giovanni (thanks again guy) we find out that the problem was caused by chan_oss that should be disabled in modules.conf

I attacch here my modules.conf (if this can help someone):

;
; Asterisk configuration file
;
; Module Loader configuration file
;

[modules]
autoload=yes
;
; Any modules that need to be loaded before the Asterisk core has been
; initialized (just after the logger has been initialized) can be loaded
; using 'preload'. This will frequently be needed if you wish to map all
; module configuration files into Realtime storage, since the Realtime
; driver will need to be loaded before the modules using those configuration
; files are initialized.
;
; An example of loading ODBC support would be:
;preload => res_odbc.so
;preload => res_config_odbc.so
;
; If you want, load the GTK console right away.
; Don't load the KDE console since
; it's not as sophisticated right now.
;
noload => pbx_gtkconsole.so
;load => pbx_gtkconsole.so
noload => pbx_kdeconsole.so
;
; Intercom application is obsoleted by
; chan_oss. Don't load it.
;
noload => app_intercom.so
;
; The 'modem' channel driver and its subdrivers are
; obsolete, don't load them.
;
noload => chan_modem.so
noload => chan_modem_aopen.so
noload => chan_modem_bestdata.so
noload => chan_modem_i4l.so
noload => chan_capi.so
;
load => res_musiconhold.so
;
; Load either OSS or ALSA, not both
; By default, load OSS only (automatically) and do not load ALSA
;
noload => chan_alsa.so
noload => chan_oss.so
;
; Module names listed in "global" section will have symbols globally
; exported to modules loaded after them.
;
[global]

Thanks again.
Celliax is great!!
Skumpic

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.