Professional Documents
Culture Documents
Dm766v10-90 SIP
Dm766v10-90 SIP
- ii -
b) [NO] RPR SUPPORTED ........................................................................................ 23
c) [NO] RPR REQUIRED ........................................................................................... 23
2.22. [NO] SDP ................................................................................................................ 23
a) [NO] SDP 1xx-ignore ............................................................................................. 23
b) [NO] SDP CHECK-SESSVERSION........................................................................ 23
c) [NO] SDP LAST-MEDIA-UNHOLD ...................................................................... 24
d) [NO] SDP PTIME ................................................................................................... 24
2.23. NO SIP .................................................................................................................... 24
2.24. [NO] STUN............................................................................................................. 24
2.25. [NO] TCP-MSS ...................................................................................................... 24
2.26. [NO] TIMERS ........................................................................................................ 25
a) TIMERS B ............................................................................................................... 25
b) TIMERS D ............................................................................................................... 25
c) TIMERS F ............................................................................................................... 25
d) TIMERS H ............................................................................................................... 25
e) TIMERS J ................................................................................................................ 25
f) TIMERS KEEPALIVE ............................................................................................. 26
g) TIMERS NO-ANSWER ............................................................................................ 26
h) TIMERS REGISTER ................................................................................................ 26
i) TIMERS T1.............................................................................................................. 26
j) TIMERS T2.............................................................................................................. 26
k) TIMERS T4.............................................................................................................. 27
l) TIMERS USE-T2-INVITE ....................................................................................... 27
2.27. [NO] TRANSPORT ................................................................................................ 27
a) TRANSPORT UDP .................................................................................................. 27
b) TRANSPORT TCP................................................................................................... 27
c) TRANSPORT TLS ................................................................................................... 27
2.28. [NO] UPDATE LEVEL-INDICATOR ................................................................... 28
Capítulo 3 Monitorización ................................................................................................29
1. Acceso al menú de monitorización..................................................................................... 30
2. Comandos de monitorización ............................................................................................. 31
2.1. CLEAR ................................................................................................................... 31
a) CLEAR SIP-STATISTICS ........................................................................................ 31
b) CLEAR UA-STATISTICS ........................................................................................ 31
2.2. LIST ........................................................................................................................ 31
a) LIST ALL ................................................................................................................. 31
b) LIST BACK-TO-BACK ............................................................................................ 31
c) LIST REGISTERED-USERS ................................................................................... 32
d) LIST SIP-STATISTICS ............................................................................................ 32
e) LIST SSL-SESSIONS ............................................................................................... 32
f) LIST UA-STATISTICS ............................................................................................. 32
2.3. EXIT ....................................................................................................................... 32
Capítulo 4 Ejemplo ............................................................................................................33
1. Servidor SIP en modo emergencia ..................................................................................... 34
2. Servidor SIP con cifrado TLS y SRTP ............................................................................... 37
3. Gateway SIP ....................................................................................................................... 41
Anexo A ..............................................................................................................................50
1. Software de terceros ........................................................................................................... 51
- iii -
Capítulo 1
Introducción
1. Introducción
El IETF (Internet Engineering Task Force) estandarizó el protocolo mediante la RFC 2543 en una
primera versión 1.0, pasando más tarde a la actual versión 2.0 descrita en la RFC 3261. En esta última
RFC se describe el funcionamiento básico del protocolo, citando para algunos aspectos concretos otras
RFCs acompañantes RFC 3262-3265. Además, en el documento original está prevista la ampliación
del protocolo mediante nuevas RFCs, lo que ha permitido la aparición de numerosas extensiones que
van aumentando las funcionalidades y posibilidades del protocolo.
SIP es un protocolo textual cuya sintaxis se describe mediante notación ABNF. Tiene mucha similitud
con el protocolo HTTP. Los mensajes SIP pueden ser de dos tipos: peticiones o métodos (requests), y
respuestas (responses). Una transacción SIP está formada por una petición y una o varias respuestas.
Las entidades SIP incorporan una máquina de estados para cada transacción de forma que se producen
retransmisiones cuando el protocolo de transporte usado no es fiable (UDP) y vencen los
temporizadores de reenvío del protocolo.
Los métodos definidos en la norma básica son INVITE, ACK, CANCEL, BYE, REGISTER y
OPTIONS. INVITE y ACK son un caso aparte ya que forman parte de una transacción especial usada
para iniciar una sesión y que está formada por la petición INVITE, una o varias respuestas a esta, y el
método ACK que no recibe respuesta y termina la transacción. De esta manera se consigue una
transacción más fiable al necesitar un intercambio de 3 mensajes. Diversas RFCs extienden la norma
básica definiendo nuevos métodos para aplicaciones de presencia, mensajería instantánea,
transferencia de sesión, indicación de mensajes nuevos en buzón de voz, etc. Algunos de estos
métodos son: REFER, NOTIFY, SUBSCRIBE, MESSAGE y UPDATE.
Mediante INVITE/ACK se inicia una sesión, BYE se usa para terminar sesiones, CANCEL permite
cancelar una transacción en curso (en realidad sólo se aplica a la transacción inicial de INVITE),
REGISTER es un mensaje para indicar la localización del usuario registrándose en un servidor, y
OPTIONS es una transacción que no tiene ningún efecto aparte de averiguar los métodos y
extensiones soportados por una entidad SIP determinada, que aparecen en su respuesta.
Las respuestas tienen un código de 3 dígitos, que coincide con los usados en HTTP, y que
dependiendo del primer dígito del código tiene un significado distinto. Se pueden dividir en respuestas
provisionales (1xx) y finales (2xx-6xx). Una transacción está formada por ninguna o varias respuestas
provisionales y una sola respuesta final. Los tipos de respuesta en función del primer dígito son:
1xx: respuestas provisionales, dan información pero no finalizan una transacción.
2xx: respuestas de éxito, indican que la petición ha tenido éxito.
Muchas veces un mismo equipo agrupa varias de las entidades anteriormente descritas. la función de
Registrar suele estar en el mismo equipo que actúa como Servidor SIP.
cuenca.com . . . sevilla.com
. proxy proxy
.
. .
Marta . . . . . . . . . . . . . . . . . . . . Paco
softphone SIP Phone
| | | |
| INVITE F1 | | |
|--------------->| INVITE F2 | |
| 100 Trying F3 |--------------->| INVITE F4 |
|<---------------| 100 Trying F5 |--------------->|
| |<-------------- | 180 Ringing F6 |
| | 180 Ringing F7 |<---------------|
| 180 Ringing F8 |<---------------| 200 OK F9 |
|<---------------| 200 OK F10 |<---------------|
| 200 OK F11 |<---------------| |
|<---------------| | |
| ACK F12 |
|------------------------------------------------->|
| Media Session |
|<================================================>|
| BYE F13 |
|<-------------------------------------------------|
| 200 OK F14 |
|------------------------------------------------->|
| |
En el cuerpo de los mensajes de inicio de sesión, se negocian todos los detalles de los medios que se
van a usan en la sesión: número de conexiones, tipo (audio, video, aplicación, ...), ips y puertos,
codecs, ... Esta negociación es independiente de SIP y se podría hacer en cualquier protocolo aunque
en la práctica se hace en SDP (RFC 2327) que es el previsto por SIP como protocolo por defecto para
ello y que están obligados a entender todos los UAs. Lo que si se define en SIP es un modelo de
negociación llamado oferta/respuesta. Este método consiste en que un UA manda una oferta con los
medios que quiere usar en la sesión, especificando tipo de medios, codecs y las ips y puertos en que
espera recibir los datos para cada medio y el otro UA responde con un subconjunto de esos medios y
codecs que él puede soportar para esa sesión y las ips y puertos correspondientes en que espera recibir
los datos. El uso de SDP para la negociación en SIP está descrito en la RFC 3264.
Para terminar con el ejemplo, la sesión terminaría cuando uno cualquiera de los agentes en la sesión
manda una petición de BYE.
- Servidor:
En este modo el equipo admite registros de usuarios y crea dial-peers dinámicos que permiten
establecer llamadas con los teléfonos registrados. El comportamiento ante los registros cambia
dependiendo de si existe o no un proxy SIP activo. Si hay proxy SIP, el registro se reenvía a
éste y su respuesta de vuelta al usuario. Si no hay proxy, el propio equipo actúa como
Registrar y responde al registro.
Cuando el equipo reenvía los registros al proxy SIP configurado, la dirección de contacto
registrada en el servidor es la propia de los teléfonos de forma que el proxy establece las
llamadas directamente hacia los teléfonos sin pasar por el equipo. Este es el comportamiento
deseable y más habitual, sin embargo, se puede cambiar mediante el comando application
server local-ip-registrations que hace que los registros se reenvíen sustituyendo la ip/puerto de
los teléfonos por la del equipo. En esta situación se pueden producir bucles en las llamadas si
se tiene un dial-peer para enviar todas las llamadas al proxy ya que la llamada vuelve al
equipo. Esto se puede solucionar configurando un plan de numeración más avanzado haciendo
uso de los comandos dial-plan y incoming acc-list del menú de los dial-peers.
Si una llamada entrante SIP tiene por destino otro dial-peer SIP, el equipo actúa como Back-
to-Back entre los dos dial-peers. Si no encuentra dial-peer de salida y hay proxy SIP activo, se
establece la llamada a través del proxy. Este último comportamiento se puede evitar
configurando el comando call application outgoing-match force del menú tlphy que hace que
la llamada que no encuentra dial-peer saliente falle.
Cuando el proxy SIP externo está inactivo todos los dial-peers con target sip-proxy están
inactivos también.
- Gateway:
El equipo es capaz de actuar como gateway SIP, recibiendo llamadas SIP y encaminandolas a
cualquier de sus interfaces VOIP, o encaminando llamadas recibidas por cualquier interfaz
VOIP hacía un dial-peer SIP. Además, si hay un proxy SIP o registrar configurado, el equipo
registra los dial-peers de tipo voice-port o group en este.
Los comandos de configuración del protocolo SIP han de ser introducidos en el menú de
configuración asociado al SIP (SIP Config>). Para acceder a dicho menú se emplea el comando
protocol sip en el menú de configuración general (Config>).
Config>protocol sip
SIP Config>
Si se desea que los comandos tomen efecto inmediatamente sin necesidad de reiniciar el router se debe
acceder a la configuración a través del menú de configuración general dinámica (Config$).
Config$protocol sip
SIP Config$
a) APPLICATION ADDRESS
Configura la dirección IP que utiliza el protocolo SIP para enviar y recibir mensajes de señalización.
Si no se configura ninguna se utiliza la IP interna del equipo.
Sintaxis:
SIP Config$[no] application address <a.b.c.d> Ipv4 format
b) APPLICATION GATEWAY
Activa el gateway SIP de tal forma que se puedan establecer llamadas entre interfaces VOIP del
equipo y dial-peers SIP.
Sintaxis:
SIP Config$[no] application gateway
c) APPLICATION PORT
Configura tanto el puerto TCP como el UDP sobre el que escucha el servidor SIP del equipo. El puerto
por defecto es el 5060. El servidor TLS escucha en el siguiente puerto al configurado, por defecto el
5061.
Sintaxis:
SIP Config$[no] application port <1..65535> Value in the specified range
Sintaxis:
SIP Config$[no] application server default
Sintaxis:
SIP Config$[no] application server message-filtering
Sintaxis:
SIP Config$[no] application server local-ip-registrations
Sintaxis:
SIP Config$[no] application server track nsla-advisor <1..65535>
Sintaxis:
SIP Config$[no] contact-address <word> Text
Sintaxis:
SIP Config$[no] crypto client certificate dont-verify
Sintaxis:
SIP Config$[no] crypto server certificate dont-verify
Los datos del certificado se pueden ver mediante el comando list loaded-certificates en ese mismo
menú. Si se ha cargado desde la configuración estática hay que salvar y reiniciar para que se cargue el
certificado en memoria.
CERTIFICATES config$list loaded-certificates
----------------------- TELDATCA.CER (from config)
Subject:
CN (Common Name ): Tedat Certification Authority
OU (Organizational Unit): IP Telephony Group
O (Organization Name ): Teldat S.A.
L (Locality ): Tres Cantos
S (State or Province ): Madrid
C (Country Name ): SP
Issuer: A:TELDATCA.CER
CERTIFICATES config$
Ya sólo falta configurar este certificado como una autoridad certificadora de confianza para las
conexiones TLS del protocolo SIP.
protocol sip
crypto signaling default ca TELDATCA.CER
exit
Sintaxis:
SIP Config$[no] crypto signaling default ciphers <string>
Sintaxis:
SIP Config$[no] crypto signaling default user <cert-name>
Ejemplo:
Se genera una clave privada y un CSR (Certificate Signing Request):
IPSec config>key rsa generate user.csr 512
RSA Key Generation.
Please, wait for a few seconds.
RSA Key Generation done.
Checking..OK
Key Generation Process Finished.
Generate CSR?
(Yes/No)? y
Common Name : []? Sample User Certificate
Country : []? SP
Locality : []? Tres Cantos
State or Province : []? Madrid
Organization : []? Teldat S.A.
Organizational Unit: []? IP Telephony Group
E-mail : []?
RSA Signature(MD5/SHA1/MD2): [md5]?
Save in file(Yes/No)? y
File Name: []? sample.csr
File Name: [A:USER.CSR]? y
CSR saved.
Do not forget to save RSA keys.
IPSec config>
Al mostrar la configuración se puede ver la clave privada generada cifrada y listando el fichero
user.csr se tiene el CSR que nos debe firmar la autoridad certificadora:
Una vez que la autoridad de certificación firma el CSR, el resultado es el certificado de usuario que se
puede cargar en el router de forma similar al ejemplo anterior. Ya solo falta configurar el certificado
para que lo use SIP como el certificado de usuario. La configuración final es la siguiente, que se puede
usar directamente en otro equipo sin seguir todo el proceso:
protocol ip
; -- Internet protocol user configuration --
ipsec
; -- IPSec user configuration --
key rsa file add 0x341DC332F23BD75492E8583A82F10A8CFCA4349F531563EF
key rsa file add 0xCA002248A79CFCFE24FBBCE0FA9C3BF99B02C316C9C5EB44
key rsa file add 0xA2630B28F04183766A79C93BD967380425955159D32B7035
key rsa file add 0x448A8DB2954FA8E53132CDAFE7365FED6BAE5CA55ED8809E
key rsa file add 0x89191F4762B0850603BE8A61AFD3CC786EC5ED1EB08F191C
key rsa file add 0xCF7B8FD6AF0C37BDF33BEC201C6B58B1FAC419DF8F68F525
key rsa file add 0x31F285C22AD9896587FE9095A8355C6F35075CDFAE7E2485
key rsa file add 0x6E75FC669194A00DED45B8AFDF3B99B6A162F7FE14B0F3B8
key rsa file add 0xDC0E4D442F9EC916D05F161BABA2D3D803AABADF64A8E6EC
key rsa file add 0x1CBD2973DC158D77A872B75FE4E99277E877E49C117FC6D9
key rsa file add 0xC8E29F6D1D84030B955E1A6A15E2F15386CA5F6598148876
key rsa file add 0x0C27B15CF5D812C2922706CF25C7D42DE09DCB4330125C2B
key rsa file add 0x911BC4C084B9ADE1D6D5B7DDDDD030692F2EC9E66E0E7D74
key rsa file add 0x782F99AC347A1BCAC42CEBCEF011F1D25646465BED83ABE9
key rsa file add 0xBCC82DFBE5BA79E4D024AA7F6AB05D03101335AD37882784
key rsa file add 0xF5F01429118037178894D1823871D8F498F9B2B5C1EB488D
key rsa file add 0x9D6349C59E11A617F5622FFC33D8D6272D7C13C6F9B494CE
key rsa file add 0x3148B09CB12A6B438EC87E272FBC4A0C629CD9DDCAC1B9A3
key rsa file add 0x8DFEC5C76588A09F6417A94ACF76313C89198FE0D7B5E1B2
key rsa file add 0x02249303A5A3731A0162B207950C41E18A3952DC84415084
key rsa file add 0x41E09EF3908BD169243C9A611D1EA318FCEF7A2BD0378108
key rsa file add 0xFD2E886FE114EAFBB1F18892F67FEA2173D8F05B5ED54B67
key rsa file add 0x0D649530B2392230C9AA2D9974777147DFBCCD2067222A11
key rsa file add 0x8C49A3D60E22901AC5103313CE5CC0B9FA1A2F1607BC55EE
key rsa file add 0xA6EB05FB527E786CD4529F1388F6E66AFBFA41234902488E
key rsa file end 0xB4303ABF65069D25D17145D8695CBD88EC0C92EECC210B36
cert
; -- Cert user configuration --
file new USER.CER
file add 0x308203DB308202C3A003020102020101300D06092A864886F70D010104050030
file add 0x818F310B3009060355040613025350310F300D060355040813064D6164726964
file add 0x311430120603550407130B547265732043616E746F7331143012060355040A13
file add 0x0B54656C64617420532E412E311B3019060355040B131249502054656C657068
file add 0x6F6E792047726F7570312630240603550403131D546564617420436572746966
file add 0x69636174696F6E20417574686F72697479301E170D3037303631313135323731
file add 0x335A170D3137303630383135323731335A3073310B3009060355040613025350
file add 0x310F300D060355040813064D616472696431143012060355040A130B54656C64
f) CRYPTO SIPURI-SCHEME
Si se configura este comando, el tipo de URI usado en TLS es SIP en lugar de SIPS. Por defecto se usa
SIPS con el transporte TLS.
Sintaxis:
SIP Config$[no] crypto sipuri-scheme
g) CRYPTO SSLV2
Permite aceptar conexiones SSL versión 2. Si no se habilita, únicamente se admiten conexiones
TLSv1.
Sintaxis:
SIP Config$[no] crypto sslv2
Sintaxis:
SIP Config$[no] headers from-to tolerant-match
c) HEADERS P-ASSERTED-ID
Si esta opción está configurada, se añade la cabecera P-Asserted-Identity en los mensajes de
transacciones INVITE enviados. En dicho campo se especifica la identidad del User Agent que envía
los mensajes. Por defecto, este comando se encuentra deshabilitado.
Sintaxis:
SIP Config$[no] headers p-asserted-id
d) HEADERS P-PREFERRED-ID
Si esta opción está configurada, se añade la cabecera P-Preferred-Identity en los mensajes de
transacciones INVITE enviados. La finalidad de este campo es informar de la identidad preferida del
User Agent que envía los mensajes. Por defecto, este comando se encuentra deshabilitado.
Sintaxis:
SIP Config$[no] headers p-preferred-id
Sintaxis:
SIP Config$ip-tos ?
<hex 0x0..0xff> Hexadecimal value in the specified range
Sintaxis:
SIP Config$[no] keep-alive ?
none Disable keep-alive
both Use info and update SIP packets
info Use info SIP packets
max-errors Maximum number of keepalive errors before hangup
update Use update SIP packets
; -- Telephony configuration –
dial-peer 1 sip
destination-pattern 100
password mypassword
target dynamic
exit
exit
protocol sip
local-registrar user-check
exit
Sintaxis:
SIP Config$[no] map-cause pstn <1..127> sip <400..699>
Sintaxis:
SIP Config$[no] map-progress pstn
progress Progress without in-band audio
sip SIP progress message
<101..200> Value in the specified range
[add-sdp] Add SDP in answer for Early Media
Ignore Ignore progress message
alert Alerting without in-band audio
sip SIP progress message
<101..200> Value in the specified range
[add-sdp] Add SDP in answer for Early Media
Ignore Ignore progress message
pi-progress Progress with in-band audio
sip SIP progress message
<101..200> Value in the specified range
[add-sdp] Add SDP in answer for Early Media
Ignore Ignore progress message
pi-alert Alerting with in-band audio
sip SIP progress message
<101..200> Value in the specified range
[add-sdp] Add SDP in answer for Early Media
Ignore Ignore progress message
Para cada tipo de mensaje de progreso recibido por el interfaz RTC se puede configurar el código SIP
a enviar entre 101 y 200 o bien no enviar nada mediante la opción ignore. Además se puede añadir
SDP para tener audio en banda en la llamada mediante la opción add-sdp. Si se configura el código
200 para que la llamada se establezca por SIP siempre se enviará SDP y posteriores mensajes de
progreso y de establecimiento son ignorados.
Sintaxis:
SIP Config$[no] map-progress sip
<101..199> Value in the specified range
pstn PSTN progress type
progress Progress without in-band audio
alert Alerting without in-band audio
pi-progress Progress with in-band audio
pi-alert Alerting with in-band audio
ignore Ignore progress message
Para cada código SIP se puede configurar el tipo de mensaje de progreso enviado por el interfaz RTC
o bien no enviar nada mediante la opción ignore.
Sintaxis:
SIP Config$[no] max-expires <1..65535> Value in the specified range
Sintaxis:
SIP Config$[no] max-forwards <1..200> Value in the specified range
Sintaxis:
SIP Config$[no] overlap-dialing Send 484 Address Incomplete if partial match
Sintaxis:
SIP Config$[no] password <string>
Sintaxis:
SIP Config$[no] proxy <proxy-id>
default Set this entry to its default values
track Track this entry
nsla-advisor Set the nsla advisor to track
registrations Track sip phone registrations
port Specify the port the host is listening to
transport Set the transport protocol of this proxy
udp Use UDP to communicate with this proxy
tcp Use TCP to communicate with this proxy
tls Use TLS to communicate with this proxy
system Use global sip configuration to communicate with this proxy
Sintaxis:
SIP Config$[no] realm <word> Text
Sintaxis:
SIP Config$[no] register Enable SIP registration of peer numbers
Sintaxis:
SIP Config$[no] registrar <word> Set ip address or dns name for this host
Sintaxis:
SIP Config$[no] rport Use SIP rport defined in RFC3581
Sintaxis:
SIP Config$[no] rpr unsupported Reliable provisional responses unsupported
Sintaxis:
SIP Config$[no] rpr supported Reliable provisional responses supported
Sintaxis:
SIP Config$[no] rpr required Reliable provisional responses required
Sintaxis:
SIP Config$[no] sdp 1xx-ignore
Sintaxis:
SIP Config$[no] sdp check-sessversion
Sintaxis:
SIP Config$[no] sdp last-media-unhold
Sintaxis:
SIP Config$[no] sdp ptime
2.23. NO SIP
Borra toda la configuración del protocolo SIP.
Sintaxis:
SIP Config$ no sip Clear all SIP configuration
Sintaxis:
SIP Config$[no] stun <id> Value in the specified range
Sintaxis:
SIP Config$[no] timers b <1s..1m4s> Time value
b) TIMERS D
Es el tiempo que una transacción INVITE de cliente completada correctamente para la cual ya se ha
enviado el ACK espera para pasar al estado terminado.
Se configura en segundos. El valor por defecto es de 32 segundos.
Sintaxis:
SIP Config$[no] timers d <16s..1m> Time value
c) TIMERS F
Configura el máximo tiempo que espera el equipo entre el inicio de una transacción no INVITE (ej.
REGISTER) y la recepción de una respuesta del extremo remoto. Si pasa este tiempo sin recibir
respuesta, la transacción falla. Se configura en segundos. El valor por defecto es 32 veces el valor del
timer T1, por lo tanto con todos los timers por defecto es de 16 segundos.
Sintaxis:
SIP Config$[no] timers f <1s..1m4s> Time value
d) TIMERS H
Es el tiempo que una transacción INVITE de servidor retransmite la respuesta final mientras no reciba
el ACK de la transacción cliente.
Se configura en segundos. El valor por defecto es 64*T1 segundos, por lo tanto con todos los timers
por defecto es de 32 segundos.
Sintaxis:
SIP Config$[no] timers h <1s..1m4s> Time value
e) TIMERS J
Es el tiempo que una transacción no INVITE de servidor espera para pasar al estado terminado. En
este tiempo retransmite la respuesta si le llega una retransmisión del mensaje inicial.
Sintaxis:
SIP Config$[no] timers j <1s..1m4s> Time value
f) TIMERS KEEPALIVE
Define el tiempo entre dos paquetes de keep-alive. El tiempo por defecto es de 1 hora.
Sintaxis:
SIP Config$[no] timers keep-alive <30s.. 1d> Time value
g) TIMERS NO-ANSWER
Configura el tiempo que el protocolo SIP espera una respuesta definitiva a una transacción tras haber
obtenido ya una respuesta provisional. En el caso típico de una transacción INVITE es el tiempo
máximo que estará sonando el teléfono sin que el usuario llamado conteste.
Se configura en segundos. El valor por defecto es de 180 segundos.
Sintaxis:
SIP Config$[no] timers no-answer <1s..5m> Time value
h) TIMERS REGISTER
Define el tiempo entre registros cuando se registran los dial-peers tipo voice-port o group en el
Registrar o en el proxy activo si no hay Registrar configurado.
Se configura en segundos. El tiempo por defecto es de 3600 segundos.
Sintaxis:
SIP Config$[no] timers register Set register expiry time
i) TIMERS T1
Define el tiempo mínimo que espera el protocolo SIP a recibir una respuesta antes de reenviar la
petición. Cada vez que se reenvía una petición el tiempo de espera base T1 se duplica, hasta alcanzar
el valor máximo de T2.
Se configura en milisegundos. El valor por defecto es de 500 milisegundos.
Sintaxis:
SIP Config$[no] timers t1 <1..20> Timer value in 1/10secs.
j) TIMERS T2
Define el tiempo máximo que espera el protocolo SIP a recibir una respuesta antes de reenviar la
petición. Cada vez que se reenvía una petición el tiempo de espera base T1 se duplica, hasta alcanzar
el valor máximo de T2.
Se configura en segundos. El valor por defecto es de 4 segundos.
k) TIMERS T4
Es el tiempo que una transacción completada correctamente, una vez que ya ha recibido el ACK,
espera antes de pasar a estado terminado. Aplica para todas las transacciones excepto la transacción
INVITE cliente en cuyo caso se usa el timer D.
Se configura en segundos. El valor por defecto es de 5 segundos.
Sintaxis:
SIP Config$[no] timers t4 <1s..10s> Time value
l) TIMERS USE-T2-INVITE
Cambia el comportamiento de la transacción cliente de INVITE de forma que el intervalo de
retransmisión nunca sea mayor que el tiempo T2. El comportamiento normal es que el intervalo entre
retransmisiones se duplica en cada retransmisión. T2 es el intervalo máximo entre retransmisiones
para transacciones distintas de INVITE según la norma RFC3261. Configurando este comando se usa
T2 como límite también en las transacciones INVITE.
Sintaxis:
SIP Config$[no] timers use-t2-invite Use T2 (max retransmision interval) for INVITE
Sintaxis:
SIP Config$protocol udp
b) TRANSPORT TCP
El protocolo utilizado es TCP.
Sintaxis:
SIP Config$protocol tcp
c) TRANSPORT TLS
El protocolo utilizado es TLS sobre TCP. Para aceptar conexiones TLS debe tener configurado un
certificado de usuario mediante el comando crypto signaling default user.
Sintaxis:
SIP Config$[no] update level-indicator <id> value <val> when-registrations-ok
Los comandos de monitorización del protocolo SIP han de ser introducidos en el menú de
monitorización asociado al SIP (SIP+). Para acceder a dicho menú se emplea el comando
PROTOCOL SIP en el menú de monitorización general (+).
+protocol sip
SIP Mon
SIP Mon+
Una vez que se ha accedido al menú de monitorización del protocolo SIP, se pueden introducir los
comandos que se describen a continuación.
2.1. CLEAR
a) CLEAR SIP-STATISTICS
Pone todos los contadores relativos a los paquetes SIP a cero.
Sintaxis:
SIP Mon+clear sip-statistics
b) CLEAR UA-STATISTICS
Pone todos los contadores relativos a las llamadas SIP a cero.
Sintaxis:
SIP Mon+clear ua-statistics
2.2. LIST
Lista información sobre el protocolo SIP.
a) LIST ALL
Lista todo lo relativo al protocolo SIP.
Sintaxis:
SIP Mon+list all
Ejemplo:
SIP Mon+list all
b) LIST BACK-TO-BACK
Lista la información relativa a la funcionalidad back-to-back, en concreto el proxy activo si lo hay y
las transacciones back-to-back existentes así como su estado.
Sintaxis:
SIP Mon+list back-to-back
En el siguiente ejemplo se puede observar el proxy configurado que esta activo, así como una llamada
back-to-back establecida.
Ejemplo:
SIP Mon+list back-to-back
Active proxy: sipserver.id.teldat.es
SIP Mon+
d) LIST SIP-STATISTICS
Muestra información sobre los paquetes SIP recibidos/enviados.
Sintaxis:
SIP Mon+list sip-statistics
Ejemplo:
SIP Mon+list sip-statistics
e) LIST SSL-SESSIONS
Muestra información sobre las sesiones ssl activas de SIP.
Sintaxis:
SIP Mon+list ssl-sessions
f) LIST UA-STATISTICS
Muestra información sobre las llamadas recibidas/realizadas.
Sintaxis:
SIP Mon+list ua-statistics
Ejemplo:
SIP Mon+list ua-statistics
2.3. EXIT
Permite volver al menú de monitorización general.
Sintaxis:
SIP Mon+exit
Una compañía desea instalar teléfonos SIP en todas sus oficinas de tal forma que las llamadas entre
sus sucursales y la central, entre dos de sus sucursales, o entre sus sucursales y cualquier teléfono
exterior sean encaminadas a través de un servidor central SIP, con dns id.teldat.es.
La compañía también desea que en caso de caída de la conexión IP entre la sucursal y la central o de
retardo excesivo, los teléfonos SIP se mantengan operativos para poder realizar llamadas internas entre
teléfonos de la propia sucursal, y que las llamadas externas se encaminen a través de una línea externa
que está conectada a un gateway de voz. Dicho gateway realiza la conversión SIP-POTS.
Para monitorizar la calidad de la conexión IP se configura una sonda nsm que monitoriza el retardo
entre el GW-1 y el GW-2, si este retardo supera los 300 milisegundos se considera al proxy
inalcanzable y se activa el “dial-peer” que encamina todas las llamadas externas por el GW-VOZ,
dichas llamadas externas tienen el patron 9........ o 6........, correspondientes a números fijos y móviles
respectivamente. Cuando este “dial-peer” no está activo, las llamadas externas no encuentran ningún
“dial-peer” de salida por lo que son enviadas al proxy.
Configuración:
A continuación se presenta la configuración del equipo GW-1, dicho equipo actúa de respaldo ante la
caída del servidor central.
log-command-errors
no configuration
telephony
; -- Telephony configuration –
dial-peer 1 sip
destination-pattern 6........
destination-pattern 9........
target ipv4 172.24.100.131
track nsla 1
exit
;
dial-peer 3 sip
destination-pattern 12..
target sip-proxy
exit
exit
;
network ethernet0/0
; -- Ethernet Interface User Configuration --
ip address 172.24.100.133 255.255.255.248
;
exit
;
protocol ip
; -- Internet protocol user configuration --
internal-ip-address 172.24.100.133
;
exit
;
protocol sip
;
application address 172.24.100.133
application server default
proxy id.teldat.es default
proxy id.teldat.es track nsla-advisor 2
;
realm id.teldat.es
exit
;
feature dns
; -- DNS resolver user configuration --
server 172.24.51.36
no cache enable
exit
;
En el ejemplo anterior se desea utilizar cifrado TLS/SRTP para cifrar las conversaciones entre los
teléfonos y los media gateways. Para ello se configura el modo de transporte como tls y se cargan dos
certificados, el teldatca.cer y el user.cer.
El user.cer es el certificado de usuario utilizado por el router cuando un cliente o un servidor TLS
solicitan que se autentifique, dicho certificado esta firmado por la autoridad de certificación
teldatca.cer. En dichos clientes/servidores debe estar configurado el certificado teldatca.cer como
perteneciente a una autoridad de certificación válida para que reconozcan el certificado user.cer como
válido.
Además se configura srtp en modo fallback, para que si no se consigue establecer la conversación por
srtp la conversación se establezca sin cifrado.
log-command-errors
no configuration
telephony
; -- Telephony configuration –
srtp mode fallback
dial-peer 1 sip
destination-pattern 6........
destination-pattern 9........
target ipv4 172.24.100.131
track nsla 1
exit
;
dial-peer 3 sip
destination-pattern 12..
target sip-proxy
exit
exit
;
network ethernet0/0
; -- Ethernet Interface User Configuration --
ip address 172.24.100.133 255.255.255.248
;
exit
;
protocol ip
; -- Internet protocol user configuration --
internal-ip-address 172.24.100.133
;
ipsec
; -- IPSec user configuration --
key rsa file add 0x341DC332F23BD75492E8583A82F10A8CFCA4349F531563EF
key rsa file add 0xCA002248A79CFCFE24FBBCE0FA9C3BF99B02C316C9C5EB44
key rsa file add 0xA2630B28F04183766A79C93BD967380425955159D32B7035
key rsa file add 0x448A8DB2954FA8E53132CDAFE7365FED6BAE5CA55ED8809E
Una compañía desea proporcionar servicio de voz y datos entre la central de Madrid y una de sus
nuevas sucursales en Barcelona, a través de un enlace PPP sobre línea serie a 128 Kbps.
La central cuenta con teléfonos SIP y con un router ATLAS actuando como servidor SIP donde se
registran dichos teléfonos. Para poder realizar llamadas al exterior el router ATLAS cuenta con dos
tarjetas VOIP, una de las cuales tiene sus cuatro líneas en FXO y la otra tiene dos líneas en FXO y dos
en FXS. Las seis líneas FXO están conectadas a líneas de la red pública telefónica conmutada y de las
dos FXS una esta conectada a un FAX y la otra a un teléfono.
De esta forma la central es capaz de manejar hasta seis llamadas a teléfonos externos simultáneamente.
La sucursal cuenta con otro router ATLAS con una tarjeta VOIP, que tiene una de las líneas
configurada en modo FXO y conectada a una línea de la red pública telefónica conmutada, las otras
tres están configuradas en modo FXS, dos conectadas a teléfonos y la tercera a un FAX.
Si la línea FXO está ocupada y se quisiera cursar una segunda llamada se debe utilizar el interfaz base
ISDN que está conectado a una línea ISDN externa.
Desde los teléfonos SIP de la central las llamadas al exterior se encaminan directamente a través de
una de las líneas FXO del ATLAS, excepto las correspondientes a números de Barcelona que tienen el
patrón 93....... y que son desviadas preferentemente al router de la sucursal para que sean tarificadas
como llamadas locales.
Si la línea PPP está caída todas las llamadas se encaminan por las líneas FXO.
Para la sucursal las llamadas a teléfonos del exterior son encaminadas a la central por VoIP ya que las
líneas FXO del ATLAS de central tienen tarifas más reducidas, excepto las dirigidas a teléfonos de
Barcelona que son encaminadas por la línea FXO preferentemente, si dicha línea está ocupada se
encaminan por ISDN.
Para comprobar si la línea PPP está activa se utiliza una sonda que mide la calidad del servicio, si el
retardo supera los 300 milisegundos se da la línea por inutilizable para VoIP y las llamadas no son
cursadas a través de los dial-peers que utilicen dicha línea PPP.
Dial-Peers:
En la central se configura un dial-peer por cada línea fxo de tal forma que todos los números de nueve
cifras los envie por ahí. También se configura un dial-peer con el patrón 93...... para que los números
con destino Barcelona sean enviados por SIP. También se configura un dial-peer para el fax y otro
para el teléfono analógico. Como deseamos utilizar el protocolo T38 para las llamadas de fax se
configura el modo t38-detect en el dial-peer sip de ambos routers.
En la sucursal se configura un dial-peer por cada extensión fxs, otro dial-peer que envie los números
del tipo 93...... por la línea fxo y otro que envíe los números con el patrón 9........ por la fxo si el proxy
está caído. Idéntica configuración con otros dos dial-peers para utilizar la línea ISDN si la fxo está
ocupada.
El codec a utilizar en todas las llamadas es el G723 a 5k3 bps, una trama por paquete RTP y VAD,
pues si en los dial-peers no se configuran codecs, se negocian todos los soportados, siendo el G723 el
más prioritario.
Configuraciones:
Teldat-Gw1 (central):
CONFIGURACIÓN:
log-command-errors
no configuration
set hostname gw-1
add device ppp 1
add device voip-isdn 100
set data-link sync serial0/0
set data-link x25 serial0/1
set data-link x25 serial0/2
global-profiles dial
; -- Dial Profiles Configuration --
profile audio default
profile audio dialout
profile audio isdn-type audio
;
exit
;
telephony
; -- Telephony configuration --
translation 1
rule 1 913458 any 8 unknown
exit
;
dial-peer 1 voice-port
description "fxs fax extension"
destination-pattern 801
target voice-port voip2/0 3
exit
;
dial-peer 2 voice-port
description "fxs telephone extension"
destination-pattern 802
target voice-port voip2/0 4
exit
;
dial-peer 3 voice-port
description "external calls through fxo extension"
destination-pattern .........
incoming called translation 1
target voice-port voip1/0 1
exit
;
dial-peer 4 voice-port
description "external calls through fxo extension"
Teldat-Gw2 (sucursal):
CONFIGURACIÓN:
log-command-errors
no configuration
set hostname gw-2
add device ppp 1
add device voip-isdn 100
set data-link sync serial0/0
set data-link x25 serial0/1
set data-link x25 serial0/2
global-profiles dial
; -- Dial Profiles Configuration --
profile audio default
profile audio dialout
profile audio isdn-type audio
;
exit
;
telephony
; -- Telephony configuration --
dial-peer 1 voice-port
description "local telephones"
destination-pattern 93.......
target voice-port voip1/0 1
exit
;
dial-peer 2 voice-port
description "local telephones"
destination-pattern 93.......
target voice-port voip100 1
exit
;
dial-peer 3 sip
description "external telephone calls to central"
destination-pattern .........
incoming called number 8..
fax mode t38-detect
target ipv4 172.24.100.132
track nsla 2
exit
The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the OpenSSL License and the original
SSLeay license apply to the toolkit. See below for the actual license texts. Actually both licenses are BSD-style
Open Source licenses. In case of any license issues related to OpenSSL please contact
opensslcore@openssl.org.
OpenSSL License
Copyright (c) 1998-2003 The OpenSSL Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following
acknowledgment:
"This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit.
(http://www.openssl.org/)"
4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products
derived from this software without prior written permission. For written permission, please contact openssl-
core@openssl.org.
5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names
without prior written permission of the OpenSSL Project.
6. Redistributions of any form whatsoever must retain the following acknowledgment:
"This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit
(http://www.openssl.org/)"
THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL
PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes
software written by Tim Hudson (tjh@cryptsoft.com).
Original SSLeay License:
Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
All rights reserved.
This package is an SSL implementation written by Eric Young (eay@cryptsoft.com).
The implementation was written so as to conform with Netscape’s SSL.
This library is free for commercial and non-commercial use as long as the following conditions are adhered to.
The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code;
not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright
terms except that the holder is Tim Hudson (tjh@cryptsoft.com).