----- "Chandrakant Solanki" <solanki.chandrakant at gmail.com> escreveu:> Hello > > I have successfully compiled OSLEC for echo cancellation for DAHDI > channel. > > Is there any way to do echo cancellation for SIP Channel. > > Is any, please suggest me.?? > > Thanks in advance.. > > -- > Regards, > > Chandrakant SolankiShort answer: Maybe. Depends on the SIP device you're using. Long answer: *takes a deep breath* First you gotta understand why echo occurs. Every single call you've ever made on your life has echo. You can hear yourself when you're speaking. If that was not the case, it would feel like talking on a push-to-talk system. So echo is a natural and even desirable phenomenom. What makes echo unconfortable is when the echo is *delayed* too much. There's a number of causes for this to happen. First and foremost, sometimes a part of the signal you're transmitting is reflected back to you. That usually happens on the analog part of the system (analog phones as a whole, the handset of an IP phone, the headset connected to your computer's sound card, etc). When we're talking about VoIP, the latencies involved are much higher than a completely TDM system. There's the encoding latency, easily understood as the time the device takes to convert the analog signal (your voice) in RTP packets, then there's the transmission latency, inherent to any network, and so on. All those latencies add up to each other, making the total latency go skyhigh and making you hear your own voice delayed by some milisseconds - the infamous echo. Asterisk cannot cancel echo when the call is entirely IP, from an IP phone to another, for example. There's simply no need for that. That's because it's the device's job to cancel the echo caused by its own TX reflections or analog/digital conversions. On the other hand, Asterisk can and will cancel echo if you have a hardware echo canceller or a software based one, like OSLEC -- which is by far the best software echo canceller I've ever seen. Finally, in order to solve your problem, you'll need to check a few things. If the call is entirely VoIP, from one end to other, then the IP phones, ATAs, gateways, softphones, whatever, are the sole responsibles on cancelling the echo. You'll need to turn on echo cancelling on this devices or tweak its parameters. Also, don't forget that latency makes echo much worse. If you control the entire network between the two phones, you MUST set up a QoS policy in order to minimize the latency as much as possible. I've solved many echo problems by just implementing end-to-end QoS on the network. Lastly (I swear I'm finishing this essay right here :), if that's not your case and you're having echo issues calling from a SIP phone to an external number, double check if OSLEC is indeed set as the echo canceller on /etc/dahdi/system.conf and enabled with echocancel=yes on your chan_dahdi.conf. You can always check if the echo canceller is active on a certain DAHDI channel by issuing the command "dahdi show channel XX" on Asterisk CLI, where XX of course is the said DAHDI channel.
Very informative post Vin?cius ! 2010/3/5 Vin?cius Fontes <vinicius at canall.com.br>> ----- "Chandrakant Solanki" <solanki.chandrakant at gmail.com> escreveu: > > > Hello > > > > I have successfully compiled OSLEC for echo cancellation for DAHDI > > channel. > > > > Is there any way to do echo cancellation for SIP Channel. > > > > Is any, please suggest me.?? > > > > Thanks in advance.. > > > > -- > > Regards, > > > > Chandrakant Solanki > > Short answer: Maybe. Depends on the SIP device you're using. > > Long answer: > *takes a deep breath* > > First you gotta understand why echo occurs. Every single call you've ever > made on your life has echo. You can hear yourself when you're speaking. If > that was not the case, it would feel like talking on a push-to-talk system. > So echo is a natural and even desirable phenomenom. What makes echo > unconfortable is when the echo is *delayed* too much. > > There's a number of causes for this to happen. First and foremost, > sometimes a part of the signal you're transmitting is reflected back to you. > That usually happens on the analog part of the system (analog phones as a > whole, the handset of an IP phone, the headset connected to your computer's > sound card, etc). When we're talking about VoIP, the latencies involved are > much higher than a completely TDM system. There's the encoding latency, > easily understood as the time the device takes to convert the analog signal > (your voice) in RTP packets, then there's the transmission latency, inherent > to any network, and so on. All those latencies add up to each other, making > the total latency go skyhigh and making you hear your own voice delayed by > some milisseconds - the infamous echo. > > Asterisk cannot cancel echo when the call is entirely IP, from an IP phone > to another, for example. There's simply no need for that. That's because > it's the device's job to cancel the echo caused by its own TX reflections or > analog/digital conversions. On the other hand, Asterisk can and will cancel > echo if you have a hardware echo canceller or a software based one, like > OSLEC -- which is by far the best software echo canceller I've ever seen. > > Finally, in order to solve your problem, you'll need to check a few things. > If the call is entirely VoIP, from one end to other, then the IP phones, > ATAs, gateways, softphones, whatever, are the sole responsibles on > cancelling the echo. You'll need to turn on echo cancelling on this devices > or tweak its parameters. Also, don't forget that latency makes echo much > worse. If you control the entire network between the two phones, you MUST > set up a QoS policy in order to minimize the latency as much as possible. > I've solved many echo problems by just implementing end-to-end QoS on the > network. > > Lastly (I swear I'm finishing this essay right here :), if that's not your > case and you're having echo issues calling from a SIP phone to an external > number, double check if OSLEC is indeed set as the echo canceller on > /etc/dahdi/system.conf and enabled with echocancel=yes on your > chan_dahdi.conf. You can always check if the echo canceller is active on a > certain DAHDI channel by issuing the command "dahdi show channel XX" on > Asterisk CLI, where XX of course is the said DAHDI channel. > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > New to Asterisk? Join us for a live introductory webinar every Thurs: > http://www.asterisk.org/hello > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20100305/78248b9d/attachment-0001.htm