[ previous ] [ next ] [ threads ]
 To :  "Yate mailing list" <yate@v...>
 From :  "Roeland Werring" <ruleking@g...>
 Subject :  [yate] wave recorder does not stop
 Date :  Fri, 23 May 2008 15:35:00 +0200
Hi,

maybe i am the only one with this problem, but when i record an isdn line
(sig channel) with the recorder of wavefile.cpp, so with the chan.record
message on both peer and call, it never destroys the object, also not when
you hangup the call. So file descriptor stays open, which is no fun when you
record 40 lines every 10 mins.

This fix is ugly, but worked for me:

in sigchannel hangup function:

void SigChannel::hangup(const char* reason, SignallingEvent* event)
{
    static String params = "reason";
    Lock lock(m_mutex);
    if (m_hungup)
    return;
    // rule recording fix
      DataEndpoint *de = getEndpoint();
      if (de) {
            Debug(this,DebugAll,"End call recording");
            de->setCallRecord(0);
            de->setPeerRecord(0);
      }
// end fix

Any suggestion how to do this in another way?

Cheers,

R.


-- 
Roeland Werring

http://www.werring.net

http://www.azertisoftware.com/

http://www.pokertips.nl
http://www.info4poker.com
http://www.pokertips.ru
http://www.pokerauskunft.de
http://www.pokerplaying.se
http://www.poquerinfo.com



Hi,

maybe i am the only one with this problem, but when i record an isdn line (sig channel) with the recorder of wavefile.cpp, so with the chan.record message on both peer and call, it never destroys the object, also not when you hangup the call. So file descriptor stays open, which is no fun when you record 40 lines every 10 mins.

This fix is ugly, but worked for me:

in sigchannel hangup function:

void SigChannel::hangup(const char* reason, SignallingEvent* event)
{
    static String params = "reason";
    Lock lock(m_mutex);
    if (m_hungup)
    return;
    // rule recording fix   
      DataEndpoint *de = getEndpoint();
      if (de) {
            Debug(this,DebugAll,"End call recording");
            de->setCallRecord(0);                        
            de->setPeerRecord(0);                   
      }
// end fix

Any suggestion how to do this in another way?

Cheers,

R.


--
Roeland Werring

http://www.werring.net

http://www.azertisoftware.com/

http://www.pokertips.nl
http://www.info4poker.com
http://www.pokertips.ru
http://www.pokerauskunft.de
http://www.pokerplaying.se
http://www.poquerinfo.com