<div dir="ltr">alguma sugestão?<div>:S</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-27 11:08 GMT-03:00 Decyclopter style <span dir="ltr">&lt;<a href="mailto:decyclopter@gmail.com" target="_blank">decyclopter@gmail.com</a>&gt;</span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><b>opa claro....</b><div><b><br></b></div><div><b>estava contabilizando e tive 22 chamadas derrubadas ontem...</b></div>
<div><b>será que se eu atualizar o Asterisk do 1.8 para 11 resolveria??</b></div><div><br>
<br><div><b><font color="#000000">[macro-hangupcall]</font></b></div><div><b><font color="#666666">include =&gt; macro-hangupcall-custom</font></b></div><div><b><font color="#666666">exten =&gt; s,1(start),GotoIf($[&quot;${USE_CONFIRMATION}&quot;=&quot;&quot; | &quot;${RINGGROUP_INDEX}&quot;=&quot;&quot; | &quot;${CHANNEL}&quot;!=&quot;${UNIQCHAN}&quot;]?skiprg)</font></b></div>


<div><b><font color="#666666">exten =&gt; s,n,Noop(Cleaning Up Confirmation Flag: RG/${RINGGROUP_INDEX}/${CHANNEL})</font></b></div><div><b><font color="#666666">exten =&gt; s,n(delrgi),Noop(Deleting: RG/${RINGGROUP_INDEX}/${CHANNEL} ${DB_DELETE(RG/${RINGGROUP_INDEX}/${CHANNEL})})</font></b></div>


<div><b><font color="#666666">exten =&gt; s,n(skiprg),GotoIf($[&quot;${BLKVM_BASE}&quot;=&quot;&quot; | &quot;BLKVM/${BLKVM_BASE}/${CHANNEL}&quot;!=&quot;${BLKVM_OVERRIDE}&quot;]?skipblkvm)</font></b></div><div><b><font color="#666666">exten =&gt; s,n,Noop(Cleaning Up Block VM Flag: ${BLKVM_OVERRIDE})</font></b></div>


<div><b><font color="#666666">exten =&gt; s,n(delblkvm),Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})</font></b></div><div><b><font color="#666666">exten =&gt; s,n(skipblkvm),GotoIf($[&quot;${FMGRP}&quot;=&quot;&quot; | &quot;${FMUNIQUE}&quot;=&quot;&quot; | &quot;${CHANNEL}&quot;!=&quot;${FMUNIQUE}&quot;]?theend)</font></b></div>


<div><b><font color="#666666">exten =&gt; s,n(delfmrgp),Noop(Deleting: FM/DND/${FMGRP}/${CHANNEL} ${DB_DELETE(FM/DND/${FMGRP}/${CHANNEL})})</font></b></div><div><b><font color="#666666">exten =&gt; s,n(theend),Hangup</font></b></div>


<div><b><font color="#666666"><br></font></b></div><div><b><font color="#666666">; end of [macro-hangupcall]</font></b></div><div><b><font color="#666666"><br></font></b></div><div><b><font color="#666666"><br></font></b></div>

<div><b><div><font color="#000000">[macro-hangupcall]</font></div><div style="color:rgb(102,102,102)">include =&gt; macro-hangupcall-custom</div><div style="color:rgb(102,102,102)"><br></div><div style="color:rgb(102,102,102)">

; Validar si el archivo de MixMon existe. Puede no existir si la llamada cuelga</div><div style="color:rgb(102,102,102)">; del lado origen antes que el destino conteste (Elastix bug #422)</div><div style="color:rgb(102,102,102)">

<br></div><div style="color:rgb(102,102,102)">exten =&gt; s,1,GotoIf($[&quot;${CDR(userfield)}&quot; = &quot;&quot;]?endmixmoncheck)</div><div style="color:rgb(102,102,102)"><br></div><div style="color:rgb(102,102,102)">
; Este codigo es fragil. Actualizar si se averigua la manera de consultar AST_MONITOR_DIR</div>
<div style="color:rgb(102,102,102)">exten =&gt; s,n,Set(MIXMON_CALLFILENAME=${ASTSPOOLDIR}/monitor/${CALLFILENAME}.${MIXMON_FORMAT})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${MIXMON_DIR}&quot; = &quot;&quot;]?defaultmixmondir)</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,Set(MIXMON_CALLFILENAME=${MIXMON_DIR}${CALLFILENAME}.${MIXMON_FORMAT})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n(defaultmixmondir),System(test -e ${MIXMON_CALLFILENAME})</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,Noop(SYSTEMSTATUS = ${SYSTEMSTATUS})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${SYSTEMSTATUS}&quot; = &quot;SUCCESS&quot;]?endmixmoncheck)</div>

<div style="color:rgb(102,102,102)"><br></div><div style="color:rgb(102,102,102)">; Si archivo MixMon no existe, se anula CDR(userfield)</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,Set(CDR(userfield)=)</div>
<div style="color:rgb(102,102,102)">
exten =&gt; s,n(endmixmoncheck),Noop(End of MIXMON check)</div><div style="color:rgb(102,102,102)"><br></div><div style="color:rgb(102,102,102)">; Validar si existe el archivo de grabacion de MeetMe. Puede que el archivo de</div>

<div style="color:rgb(102,102,102)">; grabacion sea distinto del especificado en el contexto, porque solo obedece</div><div style="color:rgb(102,102,102)">; la asignacion del primer conferencista que entra a la conferencia.</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${MEETME_RECORDINGFILE}&quot; = &quot;&quot;]?nomeetmemon)</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${MEETME_ACTUAL_RECORDINGFILE}&quot; = &quot;&quot;]?nomeetmemon)</div>

<div style="color:rgb(102,102,102)"><br></div><div style="color:rgb(102,102,102)">; Revisar si existe ${MEETME_ACTUAL_RECORDINGFILE}.${MIXMON_FORMAT}</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,Set(MEETME_REAL_TESTFILE=${MEETME_ACTUAL_RECORDINGFILE}.${MIXMON_FORMAT})</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,Set(MEETME_ALIAS_TESTFILE=${MEETME_RECORDINGFILE}.${MIXMON_FORMAT})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,System(test -e ${MEETME_REAL_TESTFILE})</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,Noop(SYSTEMSTATUS = ${SYSTEMSTATUS})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${SYSTEMSTATUS}&quot; = &quot;SUCCESS&quot;]?meetmemonexists)</div>

<div style="color:rgb(102,102,102)"><br></div><div style="color:rgb(102,102,102)">; Revisar si existe ${MEETME_ACTUAL_RECORDINGFILE}.wav</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,Set(MEETME_REAL_TESTFILE=${MEETME_ACTUAL_RECORDINGFILE}.wav)</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,Set(MEETME_ALIAS_TESTFILE=${MEETME_RECORDINGFILE}.wav)</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,System(test -e ${MEETME_REAL_TESTFILE})</div><div style="color:rgb(102,102,102)">

exten =&gt; s,n,Noop(SYSTEMSTATUS = ${SYSTEMSTATUS})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${SYSTEMSTATUS}&quot; = &quot;SUCCESS&quot;]?meetmemonexists)</div><div style="color:rgb(102,102,102)">

exten =&gt; s,n,Goto(nomeetmemon)</div><div style="color:rgb(102,102,102)">exten =&gt; s,n(meetmemonexists),Noop(MEETME recording is ${MEETME_REAL_TESTFILE})</div><div style="color:rgb(102,102,102)"><br></div><div style="color:rgb(102,102,102)">

; Revisar si MEETME_ACTUAL_RECORDINGFILE difiere de MEETME_RECORDINGFILE</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${MEETME_RECORDINGFILE}&quot; = &quot;${MEETME_ACTUAL_RECORDINGFILE}&quot;]?meetmeskiplink)</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,Noop(Hardlinking ${MEETME_REAL_TESTFILE} to ${MEETME_ALIAS_TESTFILE})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,System(ln ${MEETME_REAL_TESTFILE} ${MEETME_ALIAS_TESTFILE})</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n(meetmeskiplink),Set(CDR(userfield)=audio:${MEETME_ALIAS_TESTFILE})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n(nomeetmemon),Noop(End of MEETME check)</div>
<div style="color:rgb(102,102,102)">
<br></div><div style="color:rgb(102,102,102)">; Validar si existe el archivo de grabacion bajo demanda para la extension</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${TOUCH_MONITOR_OUTPUT}&quot; = &quot;&quot;]?noautomon)</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${TOUCH_MONITOR_FORMAT}&quot; = &quot;&quot;]?noautomonformat)</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,Set(CDR(userfield)=audio:${TOUCH_MONITOR_OUTPUT}.${TOUCH_MONITOR_FORMAT})</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,Goto(noautomon)</div><div style="color:rgb(102,102,102)">exten =&gt; s,n(noautomonformat),Set(CDR(userfield)=audio:${TOUCH_MONITOR_OUTPUT}.wav)</div><div style="color:rgb(102,102,102)">

exten =&gt; s,n(noautomon),Noop(TOUCH_MONITOR_OUTPUT=${TOUCH_MONITOR_OUTPUT})</div><div style="color:rgb(102,102,102)"><br></div><div style="color:rgb(102,102,102)">; Validar si existe el archivo de grabacion de la cola</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${MONITOR_FILENAME}&quot; = &quot;&quot;]?noautomon2)</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,System(test -e ${MONITOR_FILENAME}*)</div>
<div style="color:rgb(102,102,102)">
exten =&gt; s,n,Noop(SYSTEMSTATUS = ${SYSTEMSTATUS})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n,GotoIf($[&quot;${SYSTEMSTATUS}&quot; = &quot;APPERROR&quot;]?errornoautomon)</div><div style="color:rgb(102,102,102)">

exten =&gt; s,n,Set(CDR(userfield)=audio:${MONITOR_FILENAME})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n(errornoautomon),Noop(End of MONITOR QUEUE check)</div><div style="color:rgb(102,102,102)">exten =&gt; s,n(noautomon2),Noop(MONITOR_FILENAME=${MONITOR_FILENAME})</div>

<div style="color:rgb(102,102,102)"><br></div><div style="color:rgb(102,102,102)">exten =&gt; s,n(start),GotoIf($[&quot;${USE_CONFIRMATION}&quot;=&quot;&quot; | &quot;${RINGGROUP_INDEX}&quot;=&quot;&quot; | &quot;${CHANNEL}&quot;!=&quot;${UNIQCHAN}&quot;]?skiprg)</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,Noop(Cleaning Up Confirmation Flag: RG/${RINGGROUP_INDEX}/${CHANNEL})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n(delrgi),Noop(Deleting: RG/${RINGGROUP_INDEX}/${CHANNEL} ${DB_DELETE(RG/${RINGGROUP_INDEX}/${CHANNEL})})</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n(skiprg),GotoIf($[&quot;${BLKVM_BASE}&quot;=&quot;&quot; | &quot;BLKVM/${BLKVM_BASE}/${CHANNEL}&quot;!=&quot;${BLKVM_OVERRIDE}&quot;]?skipblkvm)</div><div style="color:rgb(102,102,102)">

exten =&gt; s,n,Noop(Cleaning Up Block VM Flag: ${BLKVM_OVERRIDE})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n(delblkvm),Noop(Deleting: ${BLKVM_OVERRIDE} ${DB_DELETE(${BLKVM_OVERRIDE})})</div><div><u><font color="#eeeeee" style="background-color:rgb(255,0,0)">exten =&gt; s,n(skipblkvm),GotoIf($[&quot;${FMGRP}&quot;=&quot;&quot; | &quot;${FMUNIQUE}&quot;=&quot;&quot; | &quot;${CHANNEL}&quot;!=&quot;${FMUNIQUE}&quot;]?theend)</font></u></div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n(delfmrgp),Noop(Deleting: FM/DND/${FMGRP}/${CHANNEL} ${DB_DELETE(FM/DND/${FMGRP}/${CHANNEL})})</div><div style="color:rgb(102,102,102)">exten =&gt; s,n(theend),AGI(hangup.agi)</div>

<div style="color:rgb(102,102,102)">exten =&gt; s,n,Hangup</div><div style="color:rgb(102,102,102)"><br></div></b></div><div class=""><div><b><font color="#666666"><br></font></b></div><div><br></div><div><br></div><div>
<br></div><div class="gmail_extra">
-- <br><div dir="ltr"><b><font color="#666666">att</font></b><div>
<b><font color="#666666">Hudson </font></b></div><div><b><font color="#666666">Decyclopter Network</font></b></div><div><br></div></div>
</div></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><b style="background-color:rgb(255,255,255)"><font color="#666666">att</font></b><div><b style="background-color:rgb(255,255,255)"><font color="#666666">Hudson </font></b></div>
<div><b style="background-color:rgb(255,255,255)"><font color="#666666">Decyclopter Network</font></b></div><div><br></div></div>
</div>