Yate Community Forum
		Yate server => Other Yate server issues => Topic started by: cc08 on November 28, 2012, 02:52:05 PM
		
			
			- 
				Hi, all!
 
 Please, advice how to do.
 System is freesentral on yate-3.0.0.
 Incoming h323 call routed to wave file in regexroute by next string:
 
 [notexist]
 .*=wave/play//usr/share/yate/sounds/notexist.slin;autoprogress=yes
 
 After 20 seconds(duration of wave) call hungup with Q.931 code 16.
 But I want to send code 1 (Unallocated number).
 For this I do next in regexroute.conf (advice from Paul in mailist for sip call)
 
 [extra]
 chan.disconnected=30
 
 [chan.disconnected]
 ${id}^h323/=if ${status}^progressing=;cause_q931=1
 
 But result is no. (from snifer I see)
 
 ...
 20121128132809.692960 <wave:ALL> WaveSource '(null)' end of data (314672 played) chan=0x84b9058 [0x84a2cc0]
 20121128132809.693491 <wave:ALL> WaveSource cleanup, total=314672, chan=(nil) [0x84a2cc0]
 20121128132809.693842 >>> DataTranslator::detachChain(0x84a2cc0,0x84b9f80)
 20121128132809.694727   >>> DataTranslator::detachChain(0x84a2cc0,0x84bfa70)
 20121128132809.694981   <<< DataTranslator::detachChain
 20121128132809.695775   <ALL> G729Codec::~G729Codec() [0x84bfa70]
 20121128132809.696328 <<< DataTranslator::detachChain
 20121128132809.696596 >>> YateH323Chan::disconnected() '(null)' [0x8494a18]
 20121128132809.696862 <<< YateH323Chan::disconnected()
 20121128132809.697628 <wave/5:ALL> WaveChan::~WaveChan() wave/5 [0x84b9058]
 20121128132809.698430 <wave:ALL> WaveSource::~WaveSource() [0x84a2cc0] total=314672 stamp=157280
 20121128132809.698702 <wave:INFO> WaveSource rate=16001 b/s
 Sniffed 'chan.disconnected' time=1354109289.696843
 thread=0x84480a8 'Engine Worker'
 data=0x8494a18
 retval='(null)'
 param['id'] = 'h323/12'
 param['module'] = 'h323'
 param['status'] = 'progressing'
 param['address'] = '192.168.154.14:51981'
 param['billid'] = '1350622400-11645'
 param['lastpeerid'] = 'wave/5'
 param['answered'] = 'false'
 Returned true 'chan.disconnected' delay=0.002531
 thread=0x84480a8 'Engine Worker'
 data=0x8494a18
 retval='if progressing^progressing=return'
 param['id'] = 'h323/12'
 param['module'] = 'h323'
 param['status'] = 'progressing'
 param['address'] = '192.168.154.14:51981'
 param['billid'] = '1350622400-11645'
 param['lastpeerid'] = 'wave/5'
 param['answered'] = 'false'
 param['cause_q931'] = '1'
 20121128132809.700297 <yrtp:ALL> YRTPSource::~YRTPSource() [0x84b7440] wrapper=0x84b7188 ts=155040
 20121128132809.700380 <yrtp:ALL> YRTPConsumer::~YRTPConsumer() [0x84b9f80] wrapper=0x84b7188 ts=157120
 20121128132809.700406 <yrtp:ALL> YRTPWrapper::~YRTPWrapper() bidir 'audio' [0x84b7188]
 20121128132809.700431 <ALL> Cleaning up RTP 0x84b7260 [0x84b7188]
 20121128132809.700655 <h323/12:ALL> YateH323Chan::~YateH323Chan() progressing h323/12 [0x8494a18]
 Sniffed 'chan.hangup' time=1354109289.702249
 thread=0x84480a8 'Engine Worker'
 data=(nil)
 retval='(null)'
 param['id'] = 'h323/12'
 param['module'] = 'h323'
 param['status'] = 'progressing'
 param['address'] = '192.168.154.14:51981'
 param['billid'] = '1350622400-11645'
 param['lastpeerid'] = 'wave/5'
 param['answered'] = 'false'
 param['reason'] = 'EndedByLocalUser'
 20121128132809.707079 <h323/12:ALL> YateH323Connection::CleanUpOnCallEnd() [0x8446390]
 Returned false 'chan.hangup' delay=0.005704
 thread=0x84480a8 'Engine Worker'
 data=(nil)
 retval='(null)'
 param['id'] = 'h323/12'
 param['module'] = 'h323'
 param['status'] = 'progressing'
 param['address'] = '192.168.154.14:51981'
 param['billid'] = '1350622400-11645'
 param['lastpeerid'] = 'wave/5'
 param['answered'] = 'false'
 param['reason'] = 'EndedByLocalUser'
 Sniffed 'call.cdr' time=1354109289.707908 (broadcast)
 thread=0x84480a8 'Engine Worker'
 data=(nil)
 retval='(null)'
 param['time'] = '1354109269.906'
 param['chan'] = 'h323/12'
 param['cdrid'] = '6463'
 param['runid'] = '1350622400'
 param['operation'] = 'finalize'
 param['direction'] = 'incoming'
 param['duration'] = '19.796'
 param['billtime'] = '0.000'
 param['ringtime'] = '19.732'
 param['status'] = 'progressing'
 param['external'] = '74832666333'
 param['cdrwrite'] = 'true'
 param['address'] = '192.168.154.14:51981'
 param['billid'] = '1350622400-11645'
 param['caller'] = '74832666333'
 param['called'] = '74832501501'
 param['reason'] = 'EndedByLocalUser'
 20121128132809.713450 <h323/12:INFO> YateH323Connection::stoppedExternal(receive) chan=(nil) [0x8446390]
 20121128132809.713550 <h323/12:INFO> YateH323Connection::stoppedExternal(send) chan=(nil) [0x8446390]
 Returned false 'call.cdr' delay=0.015618 (broadcast)
 thread=0x84480a8 'Engine Worker'
 data=(nil)
 ...
 
 Value retval in chan.disconnected messge suggests that either an my error in the syntax or the version yate outdated for this syntax.
 
 I also tried this:
 
 [chan.disconnected]
 ${id}^h323/=if ${status}^progressing=;error=noconn
 
 but with the same result.
 
 Please, by you opinion, what is wrong?
 and how to do it right?
 
 
 BestRegards,
 cc08
 
 
 p.s. sorry my english