[AsteriskBrasil] Plano de discagem "unificação"
Sebastiao Rocha
sebastiaorocha em interlinksistemas.com.br
Segunda Julho 21 14:08:36 BRT 2008
Olá pessoal...
gostaria de uma ajuda com este polano de discagem, para unificar ele em um
só, estou duplicando ele, porem com mascara diferente, e quando altero em um
local tenho que alterar no outro tb..
como unificar?
Obs, deixei livre as sequencias de 3 à 95 para incluir novas autorizações,
mas vou passar esta autorização par ao banco de dados tb e então não será
pelo callerid, mas sim pela extensão que está realizando a chamada a qual se
encontra no final deste.
DELETE FROM `extensions` WHERE `exten` = '_[3]XXXXXXX';
INSERT INTO `extensions` (`descricao`, `context`, `exten`, `priority`,
`app`, `appdata`) VALUES
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX', 1, 'gotoif',
'$["${CALLERID(num):0:4}" = "7999"]?97' ),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX', 2, 'playback',
'no-rights'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX', 96, 'goto', '106'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX', 97, 'Set',
'PRI_CAUSE=1'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX', 98, 'dial',
'SIP/5534${EXTEN}@tronco|45|r'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX', 99, 'gotoif',
'$["${DIALSTATUS}" = "CHANUNAVAIL"]?106' ),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX',100, 'gotoif',
'($["${DIALSTATUS}" = "BUSY"]?106'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX',101, 'gotoif',
'($["${DIALSTATUS}" = "ANSWER"]?108'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX',102, 'gotoif',
'($["${DIALSTATUS}" = "NOANSWER"]?106'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX',103, 'gotoif',
'($["${DIALSTATUS}" = "CANCEL"]?106'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX',104, 'gotoif',
'($["${DIALSTATUS}" = "DONTCALL"]?106'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX',105, 'gotoif',
'($["${DIALSTATUS}" = "UNKNOWN"]?106'),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX',106, 'set',
'CDR(disposition)= "NOANSWER"' ),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX',107, 'NoCDR', '' ),
('Interurbano Area Local', 'interlink', '_[3]XXXXXXX',108, 'Hangup', '');
/* Plano de Discagem para interurbano nacional 0xx-xxxx-xxxx */
/****************************************************************************************************/
DELETE FROM `extensions` WHERE `exten` = '_0XX[3]XXXXXXX';
INSERT INTO `extensions` (`descricao`, `context`, `exten`, `priority`,
`app`, `appdata`) VALUES
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX', 1, 'gotoif',
'$["${CALLERID(num):0:4}" = "7999"]?97' ),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX', 2, 'playback',
'no-rights'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX', 96, 'goto',
'106'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX', 97, 'Set',
'PRI_CAUSE=1'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX', 98, 'dial',
'SIP/55${EXTEN:1}@tronco|45|r'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX', 99, 'gotoif',
'$["${DIALSTATUS}" = "CHANUNAVAIL"]?106' ),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX',100, 'gotoif',
'($["${DIALSTATUS}" = "BUSY"]?106'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX',101, 'gotoif',
'($["${DIALSTATUS}" = "ANSWER"]?108'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX',102, 'gotoif',
'($["${DIALSTATUS}" = "NOANSWER"]?106'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX',103, 'gotoif',
'($["${DIALSTATUS}" = "CANCEL"]?106'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX',104, 'gotoif',
'($["${DIALSTATUS}" = "DONTCALL"]?106'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX',105, 'gotoif',
'($["${DIALSTATUS}" = "UNKNOWN"]?106'),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX',106, 'set',
'CDR(disposition)= "NOANSWER"' ),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX',107, 'NoCDR', '' ),
('Interurbano Nacional', 'interlink', '_0XX[3]XXXXXXX',108, 'Hangup', '');
DELETE FROM `extensions` WHERE `exten` = '_2001';
INSERT INTO `extensions` (`descricao`, `context`, `exten`, `priority`,
`app`, `appdata`) VALUES
/* Consulta a base de dados e retoena a quantidade de segundos o usuário
ainda possui */
( 'Teste Mysql', 'interlink', '_2001', 1, 'MYSQL', 'Connect connid
${dbhostname} ${dbuser} ${dbpass} ${dbname}' ),
( 'Teste Mysql', 'interlink', '_2001', 2, 'MYSQL', 'Query resultid
${connid} SELECT\ `seconds_left` \ from\ `sip_users`\ where\
`accountcode`=${CALLERID(num):0:4}' ),
( 'Teste Mysql', 'interlink', '_2001', 3, 'MYSQL', 'Fetch fetchid
${resultid} seconds_left' ),
( 'Teste Mysql', 'interlink', '_2001', 4, 'MYSQL', 'Clear ${resultid}' ),
( 'Teste Mysql', 'interlink', '_2001', 5, 'MYSQL', 'Disconnect
${connid}' ),
( 'Teste Mysql', 'interlink', '_2001', 6, 'noop', 'Crédito:
${seconds_left} segundos.' ),
/* Realiza a chamada caso possua mais de 5 segundos de crédito */
( 'Teste Mysql', 'interlink', '_2001', 7, 'gotoif', '$[${seconds_left} >
5]?30' ),
/* Finaliza a chamada por não possuir créditos */
( 'Teste Mysql', 'interlink', '_2001', 8, 'goto', '45' ),
/* Inicio da chamada */
( 'Teste Mysql', 'interlink', '_2001',30, 'set',
'TIMEOUT(absolute)=${seconds_left}' ),
('Caixa Postal', 'interlink', '_2001',31, 'dial', 'SIP/${EXTEN}|45|r' ),
('Caixa Postal', 'interlink', '_2001',32, 'gotoif', '$["${DIALSTATUS}" =
"CHANUNAVAIL"]?49' ),
('Caixa Postal', 'interlink', '_2001',33, 'gotoif', '($["${DIALSTATUS}" =
"BUSY"]?49'),
('Caixa Postal', 'interlink', '_2001',34, 'gotoif', '($["${DIALSTATUS}" =
"ANSWER"]?50'),
('Caixa Postal', 'interlink', '_2001',35, 'gotoif', '($["${DIALSTATUS}" =
"NOANSWER"]?49'),
('Caixa Postal', 'interlink', '_2001',36, 'gotoif', '($["${DIALSTATUS}" =
"CANCEL"]?49'),
('Caixa Postal', 'interlink', '_2001',37, 'gotoif', '($["${DIALSTATUS}" =
"DONTCALL"]?49'),
('Caixa Postal', 'interlink', '_2001',38, 'gotoif', '($["${DIALSTATUS}" =
"UNKNOWN"]?49'),
( 'Teste Mysql', 'interlink', '_2001',39, 'goto', '49' ),
/* Indica que não possui créditos suficientes */
( 'Teste Mysql', 'interlink', '_2001', 48, 'playback', 'no-rights' ),
( 'Teste Mysql', 'interlink', '_2001', 49, 'NoCDR', '' ),
/* Encerra a ligação */
( 'Teste Mysql', 'interlink', '_2001', 50, 'Hangup', '' );
More information about the AsteriskBrasil
mailing list