I am a newbie to this project and not a software developer, but used to work on echo canceller simulations. Can someone point me to the code used for the speex echo canceller? In http://svn.pjsip.org/repos/pjproject/trunk/pjmedia/src/pjmedia/echo_speex.c, it appears that the relevant calling code is: /* Control echo cancellation in the preprocessor */ speex_preprocess_ctl(echo->preprocess, SPEEX_PREPROCESS_SET_ECHO_STATE, echo->state); /* Create temporary frame for echo cancellation */ echo->tmp_frame = (pj_int16_t*) pj_pool_zalloc(pool, 2*samples_per_frame); PJ_ASSERT_RETURN(echo->tmp_frame != NULL, PJ_ENOMEM); /* Done */ *p_echo = echo; return PJ_SUCCESS; Not sure if the functions I want are speex_preprocess_ctl(), but perhaps it is PJ_ASSERT_RETURN(). Where does this code live? Happy New Year! Ken On Tue, Dec 21, 2010 at 11:34 AM, Ken Laberteaux <klaberte at umich.edu> wrote: > I am trying to work with a developer to troubleshoot echo issues in a > mobile-phone SIP application (csipsimple). > > If I recall from my telecom days, there was sometimes a practice of > intentionally feeding back some of the received signal. ?This was done > ?to give the far-end talker a nice "reverb" sound to his voice, but is > a disaster if there is delay in the line. > > Is there anything like this in pjsip? > > Again, the issue is that a far-end caller (call him Frank) calls the > near end SIP device using pjsip (call her Sue), Frank experiences > significant echo of his voice. ?Sue experiences no echo of her voice. > It seems that Frank's echo problems are not reduced even when Sue > covers her mic with her finger ("acoustic mute") while Frank talks. > This leads me to think that Frank's voice is being resent (digitally, > not acousticly) to Frank by Sue's device. ?Since there is non-trivial > delay in the round trip, Frank hears significant echo. > > Any suggestions? > > Thanks! >