*Olá Rafael!* *Agradeço desde já a ajuda...*
*olhei meus macros mais não consegui identificar o erro...* *segue meu macros de entrada...* *se poder ajudar...fiquei meio perdido agora...mais o estranho que acontece aleatoriamente... :S* *; ############################################################################* *; Macros [macro]* *; ############################################################################* *[macro-dial]* *exten => s,1,GotoIf($["${MOHCLASS}" = ""]?dial)* *exten => s,n,SetMusicOnHold(${MOHCLASS})* *exten => s,n(dial),AGI(dialparties.agi)* *exten => s,n,NoOp(Retorna dialparties sem extensões para chamadas e DIALSTATUS: ${DIALSTATUS})* *exten => s,n+2(normdial),Dial(${ds}) ; dialparties vai definir a prioridade para 10 se $ds não for nulo* *exten => s,n,Set(DIALSTATUS=${IF($["${DIALSTATUS_CW}"!="" ]?${DIALSTATUS_CW}:${DIALSTATUS})})* *exten => s,n,GosubIf($["${SCREEN}" != "" | "${DIALSTATUS}" = "ANSWER"]?${DIALSTATUS},1)* *exten => s,20(huntdial),NoOp(Retorna dialparties com grupos de busca para chamada)* *exten => s,n,Set(HuntLoop=0)* *exten => s,n(a22),GotoIf($[${HuntMembers} >= 1]?a30) ; se este é de rg-group, não tira prefixo* *exten => s,n,NoOp(Returning there are no members left in the hunt group to ring)* *; dialparties.agi has setup the dialstring for each hunt member in a variable labeled HuntMember0, HuntMember1 etc for each iteration* *; dialparties.agi tem configurar o dialstring para cada membro procurar em uma variável labeled HuntMember0, HuntMember1 etc para cada iteração* *exten => s,n+2(a30),Set(HuntMember=HuntMember${HuntLoop})* *exten => s,n,GotoIf($[$["${CALLTRACE_HUNT}" != "" ] & $[$["${RingGroupMethod}" = "hunt" ] | $["${RingGroupMethod}" = "firstavailable"] | $["${RingGroupMethod}" = "firstnotonphone"]]]?a32:a35)* *exten => s,n(a32),Set(CT_EXTEN=${CUT(FILTERED_DIAL,,$[${HuntLoop} + 1])})* *exten => s,n,Set(DB(CALLTRACE/${CT_EXTEN})=${CALLTRACE_HUNT})* *exten => s,n,Goto(s,a42)* *; Defini o rastreamento de ligações para cada membro da procura que vamos chamar de * *;"grupos de memória têm vários membros para definir o rastreamento de ligações para" daí o loop* *exten => s,n(a35),GotoIf($[$["${CALLTRACE_HUNT}" != "" ] & $["${RingGroupMethod}" = "memoryhunt" ]]?a36:a50) * *exten => s,n(a36),Set(CTLoop=0)* *exten => s,n(a37),GotoIf($[${CTLoop} > ${HuntLoop}]?a42) ; se este é de rg-grupo, não tira prefixo* *exten => s,n,Set(CT_EXTEN=${CUT(FILTERED_DIAL,,$[${CTLoop} + 1])})* *exten => s,n,Set(DB(CALLTRACE/${CT_EXTEN})=${CALLTRACE_HUNT})* *exten => s,n,Set(CTLoop=$[1 + ${CTLoop}])* *exten => s,n,Goto(s,a37)* *exten => s,n(a42),Dial(${${HuntMember}}${ds})* *exten => s,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?ANSWER,1)* *exten => s,n,Set(HuntLoop=$[1 + ${HuntLoop}])* *exten => s,n,GotoIf($[$[$["foo${RingGroupMethod}" != "foofirstavailable"] & $["foo${RingGroupMethod}" != "foofirstnotonphone"]] | $["foo${DialStatus}" = "fooBUSY"]]?a46)* *exten => s,n,Set(HuntMembers=0)* *exten => s,n(a46),Set(HuntMembers=$[${HuntMembers} - 1])* *exten => s,n,Goto(s,a22)* *exten => s,n(a50),DBdel(CALLTRACE/${CT_EXTEN})* *exten => s,n,Goto(s,a42)* *; Para a seleção de chamadas* *exten => NOANSWER,1,Macro(vm,${SCREEN_EXTEN},BUSY,${IVR_RETVM})* *exten => NOANSWER,n,GotoIf($["${IVR_RETVM}" != "RETURN" | "${IVR_CONTEXT}" = ""]?bye)* *exten => NOANSWER,n,Return* *exten => NOANSWER,n(bye),Macro(hangupcall)* *exten => TORTURE,1,Goto(app-blackhole,musiconhold,1)* *exten => TORTURE,n,Macro(hangupcall)* *exten => DONTCALL,1,Answer* *exten => DONTCALL,n,Wait(1)* *exten => DONTCALL,n,Zapateller()* *exten => DONTCALL,n,Playback(ss-noservice)* *exten => DONTCALL,n,Macro(hangupcall)* *exten => ANSWER,1,Noop(Call successfully answered - Hanging up now)* *exten => ANSWER,n,Macro(hangupcall,)* *; Certifique-se de hungupcalls aqui assim que a limpeza adequada ocorre a partir de chamada confirmado e similares* *;* *exten => h,1,Macro(hangupcall)* *; obter o contexto de correio de voz para o usuário no ARG1* *[macro-get-vmcontext]* *exten => s,1,Set(VMCONTEXT=${DB(AMPUSER/${ARG1}/voicemail)})* *exten => s,2,GotoIf($["foo${VMCONTEXT}" = "foo"]?200:300)* *exten => s,200,Set(VMCONTEXT=default)* *exten => s,300,NoOp()* *; Por alguma razão, se eu não correr setCIDname, CallerID(name) ficará em branco na minha AGI* *; ARGS: vazio* *[macro-fixcid]* *exten => s,1,Set(CALLERID(name)=${CALLERID(name)})* *; Ring groups dos telefones* *; ARGS: Lista de extensões separadas por vírgulas* *; 1 - Ring Group Strategy* *; 2 - ringtimer* *; 3 - prefix* *; 4 - extension list* *[macro-rg-group]* *exten => s,1,Macro(user-callerid,SKIPTTL) ; already called from ringgroup* *exten => s,2,GotoIf($["${CALLERID(name):0:${LEN(${RGPREFIX})}}" != "${RGPREFIX}"]?4:3) ; check for old prefix* *exten => s,3,Set(CALLERID(name)=${CALLERID(name):${LEN(${RGPREFIX})}}) ; strip off old prefix* *exten => s,4,Set(RGPREFIX=${ARG3}) ; set new prefix* *exten => s,5,Set(CALLERID(name)=${RGPREFIX}${CALLERID(name)}) ; add prefix to callerid name* *exten => s,6,Set(RecordMethod=Group) ; set new prefix* *exten => s,7,Macro(record-enable,${MACRO_EXTEN},${RecordMethod})* *exten => s,8,Set(RingGroupMethod=${ARG1}) ;* *exten => s,9,Macro(dial,${ARG2},${DIAL_OPTIONS},${ARG4})* *exten => s,10,Set(RingGroupMethod='') ;* -- *att* *Hudson * *Decyclopter Network*
_______________________________________________ KHOMP: completa linha de placas externas FXO, FXS, GSM e E1 Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7 Intercomunicadores para acesso remoto via rede IP e telefones IP Conheça todo o portfólio em www.Khomp.com _______________________________________________ ALIGERA Fabricante e desenvolvedor nacional de Soluções para telefonia IP . Gateway Sip, Conversores e Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express. Banco de Canais Analógicos Appliance Asterisk Acesse www.aligera.com.br _______________________________________________ Para remover seu email desta lista, basta enviar um email em branco para asteriskbrasil-unsubscr...@listas.asteriskbrasil.org