
48 Implementación de servicios VoIP sobre Asterisk
La clase Scenario es la encargada de contener la información de configuración.
La estructura principal se subdivide en dos tablas de Hash: una que contiene
un listado de los canales configurados en la tarjeta analógica; y la otra, una lista
de los usuarios VoIP. A continuación se muestra un esquema de la estructura
definida.
(devices) // Data model
|
+- Zap // Tabla con información de la tarjeta
|
| +- (1st) // Canal 1
| | |
| | +- Channel = "1” // Número canal en la tarjeta
| | |
| | +- Signalling = “FXO kewlstart” // Tipo de puerto
| | |
| | +- Alarm = “No alarm” // Estado
| |
| +- (2nd) // Canal 2
| | |
| | +- Channel = “4”
| | |
| | +- Signalling = “FXS Kewlstart”
| | |
| | +- Alarm = “No alarm”
| |
| +- (...)
|
+- voip // tabla con información de los usuarios VoIP
|
+- (1st) // Usuario 1
| |
| +- Name = “jose” // Nombre
| |
| +- Channel = “SIP” // Protocolo utilizado”
| |
| +- Type = “friend” // Tipo: (peer/user/friend)
| |
| +- Address = “147.83.115.142” // Dirección IP
| |
| +- Dynamic = “Yes” // ¿Puede variar su IP?
| |
| +- Port = “5060” // Puerto utilizado”
| |
| +- Nat = “Yes” // ¿Está detrás de un NAT?”
|
| +- Status = “OK” // Estado
| |
| +- RTT = “95 ms” // Round Trip Time
|
+- (...)
Por otra parte, cuando se recibe un evento de inicio de conexión entre dos
terminales, se almacena cierta información de interés en otra tabla de Hash
implementada por la clase ActualCalls. Esta tabla contiene un listado de las
llamadas activas asociadas a parámetros como identificador del emisor y
receptor, canales que utilizan, duración y fecha de la llamada, etc. La estructura
implementada sigue el siguiente esquema:
Comentarios a estos manuales