Echo during call (no echo cancellation) #9
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tested with NMT-450.
Setup:
osmocom-analog, osmo-cc-sip-endpoint, asterisk as sip pbx.
All network communications running at loopback interface (127.0.0.1/8)
Two nokia nmt-450 phones, various SIP clients.
Problem:
Calls from MS to MS, or from SIP to MS in any direction produce echo and (sometimes) goes into positive feedback loop. Leads to audio distortion.
Cause:
Analog phones have sensitive microphones that pick up sound from the phone speaker.
Analog phones don't implement echo cancellation due to limited processing capacity.
Echo cancellation should be implemented on network side.
SIP (digital telephony) are incapable of echo cancellation on SIP trunks due to design.
Proposed
Implement echo cancellation algorithm in osmocom-analog.
See attached files for SIP session tcpdump file and wav file for test call (call to asterisk voicemail number to eliminate all other possible causes).
Best open source GPL v2 line echo canceler implementaion is OSLEC (open-source line echo canceler)
It's a part of Linux kernel (module):
https://github.com/torvalds/linux/tree/master/drivers/misc/echo
Oslec Echo Canceller home page:
http://www.rowetel.com/?page_id=454
echo canceller are a necessity when analog is converted to digital, and because all signal processing in osmocom-analog is digital it's required to implement echo cancelling on the edge in order to achieve proper speech transmission without positive gain loop.
Echo canceler implemented in linux echo kernel module confronts to at least some G.168 International Telecommunication Union recommendation for digital network echo canceller tests. ( https://www.itu.int/rec/T-REC-G.168/en )