Diferencia entre revisiones de «Asterisk Realtime»

De Asterisk Wiki
Ir a la navegación Ir a la búsqueda
Línea 96: Línea 96:
 
La estructura de la tabla '''voicemail''' más actualizada y completa es la siguiente <ref>[http://www.voip-info.org/wiki/view/Asterisk+RealTime+Voicemail Tabla Voicemail] Sherwood McGowan, Voopinfo LLC</ref>, siguiendo como el caso de las anteriores, pudiéndose establecer una versión más reducida para aumentar la prácticidad:
 
La estructura de la tabla '''voicemail''' más actualizada y completa es la siguiente <ref>[http://www.voip-info.org/wiki/view/Asterisk+RealTime+Voicemail Tabla Voicemail] Sherwood McGowan, Voopinfo LLC</ref>, siguiendo como el caso de las anteriores, pudiéndose establecer una versión más reducida para aumentar la prácticidad:
  
{{Database|voicemail|CREATE TABLE `voicemail` (<br> `uniqueid` INT(4) NOT NULL AUTO_INCREMENT,<br> `customer_id` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
+
{{Database|voicemail|CREATE TABLE `voicemail` (<br> `uniqueid` INT(4) NOT NULL AUTO_INCREMENT,<br> `customer_id` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `context` VARCHAR(10) COLLATE utf8_bin NOT NULL,<br> `mailbox` VARCHAR(10) COLLATE utf8_bin NOT NULL,<br> `password` INT(4) NOT NULL,<br> `fullname` VARCHAR(150) COLLATE utf8_bin DEFAULT NULL,<br>
`context` VARCHAR(10) COLLATE utf8_bin NOT NULL,<br> `mailbox` VARCHAR(10) COLLATE utf8_bin NOT NULL,<br> `password` INT(4) NOT NULL,<br> `fullname` VARCHAR(150) COLLATE utf8_bin DEFAULT NULL,<br>
+
`email` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL,<br> `pager` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL,<br> `tz` VARCHAR(10) COLLATE utf8_bin DEFAULT 'central',<br>
`email` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL,<br> `pager` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL,<br> `tz` VARCHAR(10) COLLATE utf8_bin DEFAULT 'central',<br>
+
`attach` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',<br> `saycid` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',<br> `dialout` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
`attach` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',<br> `saycid` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',<br> `dialout` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
+
`callback` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `review` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `operator` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br>
`callback` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `review` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `operator` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br>
+
`envelope` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `sayduration` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `saydurationm` TINYINT(4) NOT NULL DEFAULT '1',<br>
`envelope` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `sayduration` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `saydurationm` TINYINT(4) NOT NULL DEFAULT '1',<br>
+
`sendvoicemail` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `delete` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br>
`sendvoicemail` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `delete` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br>
+
`nextaftercmd` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',<br> `forcename` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br>
`nextaftercmd` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',<br> `forcename` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br>
+
`forcegreetings` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `hidefromdir` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',<br>
`forcegreetings` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',<br> `hidefromdir` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',<br>
+
`stamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,<br> `attachfmt` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
`stamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,<br> `attachfmt` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
+
`searchcontexts` ENUM('yes','no') COLLATE utf8_bin DEFAULT NULL,<br> `cidinternalcontexts` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `exitcontext` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
`searchcontexts` ENUM('yes','no') COLLATE utf8_bin DEFAULT NULL,<br> `cidinternalcontexts` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `exitcontext` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
+
`volgain` VARCHAR(4) COLLATE utf8_bin DEFAULT NULL,<br> `tempgreetwarn` ENUM('yes','no') COLLATE utf8_bin DEFAULT 'yes',<br> `messagewrap` ENUM('yes','no') COLLATE utf8_bin DEFAULT 'no',<br>
`volgain` VARCHAR(4) COLLATE utf8_bin DEFAULT NULL,<br> `tempgreetwarn` ENUM('yes','no') COLLATE utf8_bin DEFAULT 'yes',<br> `messagewrap` ENUM('yes','no') COLLATE utf8_bin DEFAULT 'no',<br>
+
`minpassword` INT(2) DEFAULT '4',<br> `vm-password` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `vm-newpassword` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
`minpassword` INT(2) DEFAULT '4',<br> `vm-password` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `vm-newpassword` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
+
`vm-passchanged` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `vm-reenterpassword` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `vm-mismatch` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
`vm-passchanged` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `vm-reenterpassword` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `vm-mismatch` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br>
+
`vm-invalid-password` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `vm-pls-try-again` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `listen-control-forward-key` VARCHAR(2) COLLATE utf8_bin DEFAULT NULL,<br>
`vm-invalid-password` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `vm-pls-try-again` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,<br> `listen-control-forward-key` VARCHAR(2) COLLATE utf8_bin DEFAULT NULL,<br>
+
`listen-control-reverse-key` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,<br> `listen-control-pause-key` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,<br>
`listen-control-reverse-key` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,<br> `listen-control-pause-key` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,<br>
+
`listen-control-restart-key` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,<br> `listen-control-stop-key` VARCHAR(13) COLLATE utf8_bin DEFAULT NULL,<br> `backupdeleted` VARCHAR(3) COLLATE utf8_bin DEFAULT '25',<br>
`listen-control-restart-key` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,<br> `listen-control-stop-key` VARCHAR(13) COLLATE utf8_bin DEFAULT NULL,<br> `backupdeleted` VARCHAR(3) COLLATE utf8_bin DEFAULT '25',<br>
+
PRIMARY KEY  (`uniqueid`),<br> KEY `mailbox_context` (`mailbox`,`context`)<br>) ENGINE&#61;INNODB DEFAULT CHARSET&#61;latin1 ; }}
  PRIMARY KEY  (`uniqueid`),<br> KEY `mailbox_context` (`mailbox`,`context`)<br>) ENGINE&#61;INNODB DEFAULT CHARSET&#61;latin1 ; }}
 
  
 
== Referencias ==
 
== Referencias ==

Revisión del 16:56 4 jun 2012

Format.png Formatear
Esta página necesita ser editada para cumplir los requisitos del wiki.
Puedes revisar todas las páginas sin suficiente formato en este enlace.
Alert.png To Do
Esta página necesita ser completada.
Puedes revisar todas las páginas por completar en este enlace.


La arquitectura Asterisk Realtime, también llamada ARA (Asterisk Realtime Architecture), es un mecanismo que surgió a partir de la versión 1.2 de Asterisk y permitía poder realizar la configuración de varios aspectos del sistema en tiempo real, de forma dinámica a traves del uso de Bases de Datos relacionales, donde se contienen los parámetros de configuración al detalle, en vez de utilizar los clásicos ficheros de texto.

Logo Asterisk

Usando Realtime

Si comparamos el uso de Asterisk Realtime, con el resto de los modos de configuración podemos destacar que la principal ventaja radica en la flexibilidad y la escalabilidad del sistema, además de la facilidad en las configuraciones sucesivas. Eventualmente la puesta en marcha podría considerarse el único aspecto negativo, pero una vez hecho esto, supera al resto de las opciones con diferencia.

Es muy práctico plantearse el hecho de montar un sistema Realtime, en base a una estructura a modo plantilla que podría servir en sucesivas instalaciones aminorando el tiempo total de puesta en marcha y en consecuencia ofreciendo aún más potencial.

Si consideramos que la flexibilidad que aporta un fichero de texto es mínima conjuntamente a otras opciones como la configuración a través de comandos AMI, o a través de la CLI dado que en una posible instancia estamos "obligados" a ofrecer total control en cualquiera de los casos, a un usuario que pudiera tener el acceso a cualquiera de estas tres alternativas, mientras que utilizando el sistema Realtime, al alojarse en una base de datos, podríamos utilizar cualquier lenguaje de programación, para conectar a la misma, y adaptar una aplicación, específicamente a las necesidades concretas de la organización.

Prácticamente cualquier tipo de Base de datos de tipo relacional es apta para este sistema, pero hay que considerar que Asterisk solo integra módulos de tipo recursos para establecer la conexión directa mediante tres vías populares:

  • Bases de Datos MySQL
  • Bases de Datos PostgreSQL
  • Conectividad a través de un driver ODBC, que a su vez, ofrecería la posibilidad de conectar prácticamente al 100% de las bases de datos del mercado (Microsoft SQL, Oracle 1Xg, IBM U2, etc).

En estos momentos, aunque los recursos para conectar directamente via MySQL y PostgreSQL siguen operativos, se espera que pasen a estar obsoletos en un corto periodo de tiempo, dado que la conectividad a traves del driver ODBC supone un sistema mas universal y cuyo desarrollo y perfeccionamiento supone mas estabilidad que el mantenimiento de un modulo especifico por cada Base de Datos que queremos dotar de soporte.

Módulos Convertibles

Es posible convertir al sistema RealTime varios Módulos de Asterisk. Parte de ellos se consideran el sistema "Estático", dado que su configuración no esta basada en la idea de necesitar estar cambiandolos regularmente, solamente la ventaja de que al introducir cambios en los mismos, no tener que realizar una recarga del fichero desde la CLI para que los cambios quedasen efectuados.

Canal SIP

El canal SIP esta compuesto por las siguientes tablas:

  • sippeers: Sirve para almacenar toda la información específica de los pares SIP.
  • sipregs: Sirve para almacenar, todos los comandos "register" (SIP: register =>). No es muy recomendable utilizarla dado que su funcionamiento no es todo lo deseable que debería, y probablemente quede obsoleta próximamente.

Por lo demás el resto de la configuración ha de hacerse de forma estática en el fichero para el protocolo SIP de momento.

Estructura SipPeers

Es posible crear la tabla completa en la base de datos sippeers, tenemos que definir los siguientes campos[1]:

Tabla: sippeers
CREATE TABLE `pares_sip` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(80) NOT NULL DEFAULT ,
`context` varchar(80) DEFAULT NULL,

`callingpres` enum('allowed_not_screened','allowed_passed_screen','allowed_failed_screen','allowed','prohib_not_screened','prohib_passed_screen','prohib_failed_screen','prohib','unavailable') DEFAULT 'allowed_not_screened',
`deny` varchar(95) DEFAULT NULL,
`permit` varchar(95) DEFAULT NULL,
`secret` varchar(80) DEFAULT NULL,
`md5secret` varchar(80) DEFAULT NULL, `remotesecret` varchar(250) DEFAULT NULL,
`transport` enum('tcp','udp','tcp,udp') DEFAULT NULL,
`host` varchar(31) NOT NULL DEFAULT ,
`nat` varchar(5) NOT NULL DEFAULT 'no',
`type` enum('user','peer','friend') NOT NULL DEFAULT 'friend',
`accountcode` varchar(20) DEFAULT NULL,
`amaflags` varchar(13) DEFAULT NULL,
`callgroup` varchar(10) DEFAULT NULL, `callerid` varchar(80) DEFAULT NULL,
`defaultip` varchar(15) DEFAULT NULL,
`dtmfmode` varchar(7) DEFAULT NULL,
`fromuser` varchar(80) DEFAULT NULL,
`fromdomain` varchar(80) DEFAULT NULL, `insecure` varchar(4) DEFAULT NULL,
`language` char(2) DEFAULT NULL,
`mailbox` varchar(50) DEFAULT NULL,
`pickupgroup` varchar(10) DEFAULT NULL,
`qualify` char(3) DEFAULT NULL,
`regexten` varchar(80) DEFAULT NULL,
`rtptimeout` char(3) DEFAULT NULL,
`rtpholdtimeout` char(3) DEFAULT NULL,
`setvar` varchar(100) DEFAULT NULL,
`disallow` varchar(100) DEFAULT 'all',
`allow` varchar(100) DEFAULT 'g729;ilbc;gsm;ulaw;alaw',
`fullcontact` varchar(80) NOT NULL DEFAULT ,
`ipaddr` varchar(15) NOT NULL DEFAULT
,
`port` mediumint(5) unsigned NOT NULL DEFAULT '0',
`username` varchar(80) NOT NULL DEFAULT ,
`defaultuser` varchar(80) NOT NULL DEFAULT
,
`subscribecontext` varchar(80) DEFAULT NULL,
`directmedia` enum('yes','no') DEFAULT NULL,
`trustrpid` enum('yes','no') DEFAULT NULL,
`sendrpid` enum('yes','no') DEFAULT NULL,
`progressinband` enum('never','yes','no') DEFAULT NULL,
`promiscredir` enum('yes','no') DEFAULT NULL,
`useclientcode` enum('yes','no') DEFAULT NULL,
`callcounter` enum('yes','no') DEFAULT NULL,
`busylevel` int(10) unsigned DEFAULT NULL,
`allowoverlap` enum('yes','no') DEFAULT 'yes',
`allowsubscribe` enum('yes','no') DEFAULT 'yes',
`allowtransfer` enum('yes','no') DEFAULT 'yes',
`ignoresdpversion` enum('yes','no') DEFAULT 'no',
`template` varchar(100) DEFAULT NULL,
`videosupport` enum('yes','no','always') DEFAULT 'no',
`maxcallbitrate` int(10) unsigned DEFAULT NULL,
`rfc2833compensate` enum('yes','no') DEFAULT 'yes',
`session-timers` enum('originate','accept','refuse') DEFAULT 'accept', `session-expires` int(5) unsigned DEFAULT '1800',
`session-minse` int(5) unsigned DEFAULT '90',
`session-refresher` enum('uac','uas') DEFAULT 'uas',
`t38pt_usertpsource` enum('yes','no') DEFAULT NULL,
`outboundproxy` varchar(250) DEFAULT NULL,
`callbackextension` varchar(250) DEFAULT NULL,
`registertrying` enum('yes','no') DEFAULT 'yes',
`timert1` int(5) unsigned DEFAULT '500',
`timerb` int(8) unsigned DEFAULT NULL,
`qualifyfreq` int(5) unsigned DEFAULT '120',
`contactpermit` varchar(250) DEFAULT NULL,
`contactdeny` varchar(250) DEFAULT NULL,
`lastms` int(11) NOT NULL,
`regserver` varchar(100) NOT NULL DEFAULT ,
`regseconds` int(11) NOT NULL DEFAULT '0',
`useragent` varchar(50) NOT NULL DEFAULT ,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),

KEY `name_2` (`name`)

) ENGINE = MyISAM DEFAULT CHARSET = latin1 ROW_FORMAT = DYNAMIC


También existen versiones mas reducidas, dependiendo realmente del número de campos que vayamos a dar uso. Hay que considerar que gran parte de los campos son las distintas propiedades especificas de los pares SIP y muchos tienen tendencia a quedar obsoletos próximamente dadas las eventuales mejoras que en el sistema Asterisk va produciéndose constantemente.

Canal IAX

El canal IAX posee las siguientes tablas disponibles:

  • iaxpeers: Similar al sippeers sirve para definir los pares IAX.
  • iaxusers: Sirve para definir los pares tipo user de IAX, hay que considerar que esta tabla va quedando obsoleta en favor de iaxpeers, al igual que ya lo hizo la tabla "sipusers" en su día.

Estructura IAXPeers

En este caso, también tenemos acceso a una tabla especifica [2] para definir todos los parámetros en detalle de los dispositivos IAX, y hay que considerar, que la tabla puede ajustarse a una versión mas personalizada para que se ajuste únicamente a las necesidades nuestras. Es importante tener en cuenta que las versiones personalizadas, han de contener todos los parámetros que hacen referencia a valores que registra Asterisk por defecto para mantener un control del sistema:

Tabla: iaxpeers
CREATE TABLE pares_iax (
name varchar(30) primary key NOT NULL,
username varchar(30),
type varchar(6) NOT NULL,

secret varchar(50),
md5secret varchar(32),
dbsecret varchar(100),
notransfer varchar(10),
inkeys varchar(100),
outkey varchar(100),
auth varchar(100),
accountcode varchar(100),
amaflags varchar(100),
callerid varchar(100),
context varchar(100),
defaultip varchar(15),
host varchar(31) NOT NULL default 'dynamic',
language char(5),
mailbox varchar(50),
deny varchar(95),
permit varchar(95),
qualify varchar(4),
disallow varchar(100),
allow varchar(100),

ipaddr varchar(15),
port integer default 0,
regseconds integer default 0
);
CREATE UNIQUE INDEX iax_buddies_username_idx ON iax_buddies(username);


Buzones de Voz

Al igual que los anteriores módulos, el sistema de buzones de voz se puede configurar utilizando la tabla única voicemail.

En este caso, la tabla voicemail incorpora la configuración de cada uno de los Buzones de voz, algo que puede realmente ser muy interesante, especialmente si consideramos, que la configuración en fichero, no proporciona excesiva seguridad, y como ya sabemos, el sistema de modificación de claves de buzones, se realiza utilizando una aplicación interna de Asterisk, que reescribe el fichero voicemail.conf, de una forma poco conveniente (e incluso modifica la cabecera, para indicar que hizo la modificación de forma semi-manual).

La estructura de la tabla voicemail más actualizada y completa es la siguiente [3], siguiendo como el caso de las anteriores, pudiéndose establecer una versión más reducida para aumentar la prácticidad:

Tabla: voicemail
CREATE TABLE `voicemail` (
`uniqueid` INT(4) NOT NULL AUTO_INCREMENT,
`customer_id` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`context` VARCHAR(10) COLLATE utf8_bin NOT NULL,
`mailbox` VARCHAR(10) COLLATE utf8_bin NOT NULL,
`password` INT(4) NOT NULL,
`fullname` VARCHAR(150) COLLATE utf8_bin DEFAULT NULL,

`email` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL,
`pager` VARCHAR(50) COLLATE utf8_bin DEFAULT NULL,
`tz` VARCHAR(10) COLLATE utf8_bin DEFAULT 'central',
`attach` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',
`saycid` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',
`dialout` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`callback` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`review` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',
`operator` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',
`envelope` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',
`sayduration` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',
`saydurationm` TINYINT(4) NOT NULL DEFAULT '1',
`sendvoicemail` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',
`delete` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',
`nextaftercmd` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',
`forcename` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',
`forcegreetings` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'no',
`hidefromdir` ENUM('yes','no') COLLATE utf8_bin NOT NULL DEFAULT 'yes',
`stamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`attachfmt` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`searchcontexts` ENUM('yes','no') COLLATE utf8_bin DEFAULT NULL,
`cidinternalcontexts` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`exitcontext` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`volgain` VARCHAR(4) COLLATE utf8_bin DEFAULT NULL,
`tempgreetwarn` ENUM('yes','no') COLLATE utf8_bin DEFAULT 'yes',
`messagewrap` ENUM('yes','no') COLLATE utf8_bin DEFAULT 'no',
`minpassword` INT(2) DEFAULT '4',
`vm-password` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`vm-newpassword` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`vm-passchanged` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`vm-reenterpassword` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`vm-mismatch` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`vm-invalid-password` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`vm-pls-try-again` VARCHAR(10) COLLATE utf8_bin DEFAULT NULL,
`listen-control-forward-key` VARCHAR(2) COLLATE utf8_bin DEFAULT NULL,
`listen-control-reverse-key` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,
`listen-control-pause-key` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,
`listen-control-restart-key` VARCHAR(1) COLLATE utf8_bin DEFAULT NULL,
`listen-control-stop-key` VARCHAR(13) COLLATE utf8_bin DEFAULT NULL,
`backupdeleted` VARCHAR(3) COLLATE utf8_bin DEFAULT '25',

PRIMARY KEY (`uniqueid`),
KEY `mailbox_context` (`mailbox`,`context`)
) ENGINE=INNODB DEFAULT CHARSET=latin1 ;


Referencias

  1. Tabla SIP Peers, Varios Autores, Voopinfo LLC
  2. Tabla IAX Peers Varios Autores, Voopinfo LLC
  3. Tabla Voicemail Sherwood McGowan, Voopinfo LLC

Véase también

Enlaces Externos