Hi, I'm having this weird situation here:<div><br></div><div>- I have two servers with asterisk 1.4.36 installed, plus a module that I created myself</div><div> Asterisk is compiled with DONT_OPTIMIZE, DEBUG_THREADS and DEBUG_CHANNEL_LOCKS</div>
<div><br></div><div>- On the first server my module handles an incoming extension (registered as an application) an then:</div><div> - Answers</div><div> - Reads text from the channel using ast_recvtext (the phone number to dial)</div>
<div> - Makes a call to a local SIP phone</div><div> - Bridges the incoming channel with the new channel (the local SIP phone)</div><div> This blocks the thread until the bridge ends, and then returns control to the pbx_run method</div>
<div>This is a virtual machine running CentOS 5.5 on VirtualBox 3.2.10 (gcc 4.1)</div><div><br></div><div>- On the second server my module makes the call to the first server using a SIP trunk</div><div> - Send text to the channel using ast_sendtext (the phone number read on the other side)</div>
<div> - If the call could be bridged with the remote phone creates a thread and waits until the call ends</div><div>This is my personal laptop running Ubuntu 10.10 64 bit (gcc 4.4)</div><div><br></div><div>It works very well until 10~15 calls are running simultaneously</div>
<div><br></div><div>If there are more calls at the same time the first server crashes trying to lock a channel on the do_monitor thread (chan_sip.c)</div><div><br></div><div>I think my channel is being destroyed somewhere but I can't find how</div>
<div><br></div><div>I'm attaching the full back-trace of the crash but don't know if will be helpful</div><div><br></div><div>Any help is welcome, I'm very new to asterisk but reading the source code and some books I'm learning fast (but sadly not enough)</div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><div><br></div><div>Thanks!</div><div><div><br clear="all"><div><br></div>Saludos<br> Juan<br><br>
</div></div>