Цитата(CADiLO @ May 23 2012, 16:49)

>>>SIMCOM же пишет: echo cancellation, noise supression, handsfree operation и другие слова.
Объясняю - имеется в виду гарнитура или подключение блютуза, но никак не громкая связь.
Вот если бы писали speakerphone - тогда да, можно было бы предъявлять претензии.
А в штатном режиме все работает как описано.
Немного удалось разобраться. Лучше бы сразу подсказали. Стало очевидно, что: плохая работа эхоподавления связана скорей всего с нелинейными искажениями сигнала и исходящего в динамик, и приходящего из микрофона. Искажения возникают в следующих местах:
1) Предусилитель микрофона (собственный) -- после устранения этой причины стало "вроде лучше", но в целом эхо есть;
2) Усилитель мощности звука собственный, плюс низкого качества динамик -- здесь ничего не сделать, можно делать по-тише и эффект эхо пропадает, но появляется снова, если поднимать AT+CMIC (см. п. 3).
3) Усилитель сигнала микрофона в самом SIM900B. Возможно даже не усилитель, а где-то в недрах программы SIM900 происходит переполнение или насыщение. Это принципиальный момент.
4) Выходной усилитель мощности самого SIM900, сложно понять (см п.2), искажения точно есть при большом усилении, видно на осциллографе глазам ограничение сигнала (при AT+CLVL=100 более чем AT+AUDG=2,1,12000 не ставить).
Пункт 3 всё портит. Не будь его, можно было бы потенциально взять динамики по-приличней, усилитель по-мощней и не доводить до ограничения сигнала, и так было бы всем слышно. Но с микрофоном та же самая история "не слышно". Его нужно выкручивать по-больше. Далее наступает п.3. и нет эхоподавления.
После эхоподавления, но до кодирования звука GSM-кодека напрашивается компрессия динамического диапазона (с нелинейным усилением) звука. Вот чего не хватает в SIM900. Иначе со словами "не слышно" выкручивается микрофон и всё, эхо. То же самое касается динамика. После GSM-кодека, но до эхоподавления опять же нужна компрессия. Иначе точно также выкручивается громкость (малюсенькие динамики и плохонький усилитель -- от бедности)...
И есть ещё один ньюанс:
5) Сегодня работает -- завтра не работает. Это вообще не объяснимо практически. Нельзя сказать, что вообще не работает. Работает плохо. Или более-менее хорошо. Все условия точно такие же, а не работает. А пол-дня назад работало. Команды вручную из терминала, чтоб уж на программистов всё не сваливать. Тут никакого объяснения нет, что делать -- непонятно. Увы. Зависит от того каким голосом говорить и с какого телефона звонить, возможно.
и ещё:
6) "Недокументированные" команды вроде AT+AUDG вызывают перезапуск модема (с сообщением RDY) при подаче в "быстром темпе" из программы. Вручную -- не вызывают. Неспроста они "недокументированные".
7) AT+SIDET ненулевой тоже мешает. Но как подсказали, AT+SIDET=x,0;&W и перезапуск модема решают проблему.