<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 9pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
Hi,&nbsp;<BR>
&nbsp; &nbsp;&nbsp;I use SpeexEcho in my own softphone&nbsp;using MGCP protocol register to a PBX under&nbsp;WindowsXP in my laptop.<BR>
&nbsp;&nbsp;&nbsp; I make a call:<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; softphone&nbsp; ---&gt; PBX ----&gt; MediaGateWay ---PotsLine---&gt; Traditional Phone.<BR>
&nbsp;&nbsp;&nbsp; In the other side(TraditionalPhone), I did not here any echo voice, SpeexEcho works well. <BR>
&nbsp;<BR>
&nbsp;&nbsp;&nbsp; But,&nbsp;if I let laptop to&nbsp;make some sounds, such as play music,&nbsp;I&nbsp;heard&nbsp;all the voice returned back in&nbsp; TraditionalPhone. It seems SpeexEcho stops to work.<BR>
&nbsp;&nbsp;&nbsp; <BR>
&nbsp;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;What I have done In my softPhone project with SpeexEcho&nbsp;are these:<BR>
&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;prepare a buffer with 4000 bytes deep.<BR>
&nbsp;&nbsp;&nbsp; 2. "state = speex_echo_state_init( 160, 1280 )"<BR>&nbsp;&nbsp;&nbsp;&nbsp;then:<BR>
&nbsp;&nbsp;&nbsp; 3. put waveData(wHdr) into buffer&nbsp;after "waveOutWrite(hWaveOut, wHdr, sizeof(*wHdr))"<BR>
&nbsp;&nbsp;&nbsp; 4. in "WaveInCallback" function: Get&nbsp;waveData From buffer, and use "spxec_echo_cancel(state,&nbsp;waveInData, DataGotFromBuffer, tmpBuffer,0)"<BR>
&nbsp;&nbsp;&nbsp; 5. then push tmpBuffer to&nbsp;Encode Module,&nbsp;package to G.729 to network.<BR>&nbsp;<BR>Nick<BR>MSN: <A href="mailto:drawncat@hotmail.com">drawncat at hotmail.com</A><BR><BR><br /><hr />用 Windows Live Spaces 展示个性自我,与好友分享生活!  <a href='http://spaces.live.com/?page=HP' target='_new'>了解更多信息!</a></body>
</html>