Estimados, estoy realizando algunas pruebas para conocer un poco más en profundidad el funcionamiento de Asterisk.
Tengo algunas dudas que quisiera aclarar. El problema que estoy teniendo no sé si tiene que ver con un error de concepto o un error de configuración.
El objetivo de mi prueba es el siguiente:
- Discar desde un interno de la compañía el número 55421 y que este sea atendido por mi Asterisk.
Antes de continuar, desde hacer algunas aclaraciones:
1- La compañía en la que trabajo tiene funcionando la central teléfonica tradicional dónde uno puedo comunicarse con los internos y número externos.
2- He instalado un server con Asterisk para realizar algunas pruebas.
Les presento el escenario:
----PSTN---->[PBX lucent]<----T1---->[CISCO 3640]<----LAN---->[ASTERISK]
+------------------------------+
| Router Cisco: 10.0.0.1 |
| Asterisk server: 10.0.0.10 |
| SoftPhone client: 10.0.0.100 |
+------------------------------+
La PBX Lucent está conectada a la PSTN y mediante una T1 está conectada al router Cisco 3640.
El router Cisco 3640 está conectado a la LAN. Y dentro de la LAN está el servidor con el Asterisk.
La configuración es la siguiente:
Desde un teléfono interno disco "5", la PBX rutea lo que uno vaya a discar al router Cisco.
Luego marco 542x y el router deriva todo al servidor Asterisk.
Por lo tanto, si yo discara desde un teléfono interno el número 55421, lo estaría recibiendo en mi servidor Asterisk.
El router Cisco dirije los llamados al Asterisk a través del protocolo SIP.
Mi duda principal está en qué debería tener el sip.conf?
Tengo un cliente SoftPhone que no se autentica, simplemente hace un sip:1234@10.0.0.10. El mismo se conecta desde la IP 10.0.0.100 y veo desde el debug del SIP que ingresa al context "client". Es decir, matchea correctamente con lo especificado en "[10.0.0.100]".
Pero el router Cisco cuando marco el número 55421 ingresa al context "invalid", es decir, al default. Yo desearía que lo hiciera al context "cisco" declarado dentro de "[fromcisco]".
Por lo tanto, mi duda es la variable "host" no indica acaso desde dónde se debería conectar? Si el router se conecta desde la IP 10.0.0.1 porque no matchea con lo especificado en la configuración del "[fromcisco]" y termina en el context declarado en "[general]"?
Es correcto el concepto? Mi idea es declarar en "sip.conf" los posibles UAC que van a conectarse con el Asterisk, para ello quisiera utilizar algún método que me ofrezca cierto nivel de seguridad. Desearía que me garantize qué sólo van a conectarse desde las IP que yo especifique o bien, utilizaré más adelante las opciones de username/secret. Todo lo que no concuerde con esto quisiera que vaya al context declarado en "[general]" en este caso, el correspondiente a "invalid", que se encuentra declarado en el extensions.conf para que corte la comunicación haciendo un Hangup.
File: sip.conf
--- snip snip ---
[general]
disallow=all
allow=ulaw
dtmfmode=inband
context=invalid
port=5060
bindaddr=0.0.0.0
srvlookup=yes
localnet=10.0.0.0/24
canreinvite=yes
; Router Cisco 3640
[fromcisco]
type=friend
host=10.0.0.1 ; IP address del router Cisco 3640
context=cisco
disallow=all
allow=ulaw
dtmfmode=inband
; SoftPhone
[10.0.0.100]
type=friend
host=10.0.0.100 ; IP address del un cliente
context=client
allow=ulaw
--- snip snip ---
Este es el debug:
--- snip snip ---
Sip read:
INVITE sip:5421@10.0.0.10;user=phone;phone-context=unknown SIP/2.0
Via: SIP/2.0/UDP 10.0.0.1:5060
From: "8000" <sip:8000@10.0.0.1>
To: <sip:5421@10.0.0.10;user=phone;phone-context=unknown>
Date: Fri, 03 Dec 2004 17:14:07 GMT
Call-ID: 9379825F-448511D9-BF5FD0BD-78836A62@10.0.0.1
Cisco-Guid: 2448054176-1149571545-3210596541-2021878370
User-Agent: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
CSeq: 101 INVITE
Max-Forwards: 6
Timestamp: 1102094047
Contact: <sip:8000@10.0.0.1:5060;user=phone>
Expires: 180
Content-Type: application/sdp
Content-Length: 164
v=0
o=CiscoSystemsSIP-GW-UserAgent 7769 1989 IN IP4 10.0.0.1
s=SIP Call
c=IN IP4 10.0.0.1
t=0 0
m=audio 20792 RTP/AVP 65535 65535 65535 4 0 8 65535 65535
15 headers, 6 lines
Using latest request as basis request
Sending to 10.0.0.1 : 5060 (non-NAT)
Found RTP audio format 65535
Found RTP audio format 65535
Found RTP audio format 65535
Found RTP audio format 4
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 65535
Found RTP audio format 65535
Peer audio RTP is at port 10.0.0.1:20792
Capabilities: us - 0x4(ULAW), peer - audio=0xd(G723|ULAW|ALAW)/video=0x0(EMPTY), combined - 0x4(ULAW)
Non-codec capabilities: us - 0x1(G723), peer - 0x0(EMPTY), combined - 0x0(EMPTY)Found no matching peer or user for '10.0.0.1:49214'
Looking for 5421 in invalid
Reliably Transmitting (no NAT):
SIP/2.0 404 Not Found
Via: SIP/2.0/UDP 10.0.0.1:5060
From: "8000" <sip:8000@10.0.0.1>
To: <sip:5421@10.0.0.10;user=phone;phone-context=unknown>;tag=as665b48c4
Call-ID: 9379825F-448511D9-BF5FD0BD-78836A62@10.0.0.1
CSeq: 101 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:5421@10.0.0.10>
Content-Length: 0
to 10.0.0.1:5060
asterisk*CLI>
Sip read:
ACK sip:5421@10.0.0.10;user=phone;phone-context=unknown SIP/2.0
Via: SIP/2.0/UDP 10.0.0.1:5060
From: "8000" <sip:8000@10.0.0.1>
To: <sip:5421@10.0.0.10;user=phone;phone-context=unknown>;tag=as665b48c4
Date: Fri, 03 Dec 2004 17:14:07 GMT
Call-ID: 9379825F-448511D9-BF5FD0BD-78836A62@10.0.0.1
Max-Forwards: 6
CSeq: 101 ACK
8 headers, 0 lines
Destroying call '9379825F-448511D9-BF5FD0BD-78836A62@10.0.0.1'
--- snip snip ---
Configuración en el router Cisco:
--- snip snip ---
...
...
...
voice class codec 2
codec preference 1 g723ar53
codec preference 2 g723ar63
codec preference 3 g723r53
codec preference 4 g723r63
codec preference 5 g711ulaw
codec preference 6 g711alaw
codec preference 7 gsmefr
codec preference 8 gsmfr
...
...
...
dial-peer voice 602 voip
destination-pattern 542.
voice-class codec 2
session protocol sipv2
session target ipv4:10.0.0.10
dtmf-relay h245-alphanumeric
ip precedence 5
...
...
...
--- snip snip ---
Si existe algún otro tipo de información que pueda facilitarles no duden en avisarme.
Muchas gracias,
Fede
Tengo algunas dudas que quisiera aclarar. El problema que estoy teniendo no sé si tiene que ver con un error de concepto o un error de configuración.
El objetivo de mi prueba es el siguiente:
- Discar desde un interno de la compañía el número 55421 y que este sea atendido por mi Asterisk.
Antes de continuar, desde hacer algunas aclaraciones:
1- La compañía en la que trabajo tiene funcionando la central teléfonica tradicional dónde uno puedo comunicarse con los internos y número externos.
2- He instalado un server con Asterisk para realizar algunas pruebas.
Les presento el escenario:
----PSTN---->[PBX lucent]<----T1---->[CISCO 3640]<----LAN---->[ASTERISK]
+------------------------------+
| Router Cisco: 10.0.0.1 |
| Asterisk server: 10.0.0.10 |
| SoftPhone client: 10.0.0.100 |
+------------------------------+
La PBX Lucent está conectada a la PSTN y mediante una T1 está conectada al router Cisco 3640.
El router Cisco 3640 está conectado a la LAN. Y dentro de la LAN está el servidor con el Asterisk.
La configuración es la siguiente:
Desde un teléfono interno disco "5", la PBX rutea lo que uno vaya a discar al router Cisco.
Luego marco 542x y el router deriva todo al servidor Asterisk.
Por lo tanto, si yo discara desde un teléfono interno el número 55421, lo estaría recibiendo en mi servidor Asterisk.
El router Cisco dirije los llamados al Asterisk a través del protocolo SIP.
Mi duda principal está en qué debería tener el sip.conf?
Tengo un cliente SoftPhone que no se autentica, simplemente hace un sip:1234@10.0.0.10. El mismo se conecta desde la IP 10.0.0.100 y veo desde el debug del SIP que ingresa al context "client". Es decir, matchea correctamente con lo especificado en "[10.0.0.100]".
Pero el router Cisco cuando marco el número 55421 ingresa al context "invalid", es decir, al default. Yo desearía que lo hiciera al context "cisco" declarado dentro de "[fromcisco]".
Por lo tanto, mi duda es la variable "host" no indica acaso desde dónde se debería conectar? Si el router se conecta desde la IP 10.0.0.1 porque no matchea con lo especificado en la configuración del "[fromcisco]" y termina en el context declarado en "[general]"?
Es correcto el concepto? Mi idea es declarar en "sip.conf" los posibles UAC que van a conectarse con el Asterisk, para ello quisiera utilizar algún método que me ofrezca cierto nivel de seguridad. Desearía que me garantize qué sólo van a conectarse desde las IP que yo especifique o bien, utilizaré más adelante las opciones de username/secret. Todo lo que no concuerde con esto quisiera que vaya al context declarado en "[general]" en este caso, el correspondiente a "invalid", que se encuentra declarado en el extensions.conf para que corte la comunicación haciendo un Hangup.
File: sip.conf
--- snip snip ---
[general]
disallow=all
allow=ulaw
dtmfmode=inband
context=invalid
port=5060
bindaddr=0.0.0.0
srvlookup=yes
localnet=10.0.0.0/24
canreinvite=yes
; Router Cisco 3640
[fromcisco]
type=friend
host=10.0.0.1 ; IP address del router Cisco 3640
context=cisco
disallow=all
allow=ulaw
dtmfmode=inband
; SoftPhone
[10.0.0.100]
type=friend
host=10.0.0.100 ; IP address del un cliente
context=client
allow=ulaw
--- snip snip ---
Este es el debug:
--- snip snip ---
Sip read:
INVITE sip:5421@10.0.0.10;user=phone;phone-context=unknown SIP/2.0
Via: SIP/2.0/UDP 10.0.0.1:5060
From: "8000" <sip:8000@10.0.0.1>
To: <sip:5421@10.0.0.10;user=phone;phone-context=unknown>
Date: Fri, 03 Dec 2004 17:14:07 GMT
Call-ID: 9379825F-448511D9-BF5FD0BD-78836A62@10.0.0.1
Cisco-Guid: 2448054176-1149571545-3210596541-2021878370
User-Agent: Cisco VoIP Gateway/ IOS 12.x/ SIP enabled
CSeq: 101 INVITE
Max-Forwards: 6
Timestamp: 1102094047
Contact: <sip:8000@10.0.0.1:5060;user=phone>
Expires: 180
Content-Type: application/sdp
Content-Length: 164
v=0
o=CiscoSystemsSIP-GW-UserAgent 7769 1989 IN IP4 10.0.0.1
s=SIP Call
c=IN IP4 10.0.0.1
t=0 0
m=audio 20792 RTP/AVP 65535 65535 65535 4 0 8 65535 65535
15 headers, 6 lines
Using latest request as basis request
Sending to 10.0.0.1 : 5060 (non-NAT)
Found RTP audio format 65535
Found RTP audio format 65535
Found RTP audio format 65535
Found RTP audio format 4
Found RTP audio format 0
Found RTP audio format 8
Found RTP audio format 65535
Found RTP audio format 65535
Peer audio RTP is at port 10.0.0.1:20792
Capabilities: us - 0x4(ULAW), peer - audio=0xd(G723|ULAW|ALAW)/video=0x0(EMPTY), combined - 0x4(ULAW)
Non-codec capabilities: us - 0x1(G723), peer - 0x0(EMPTY), combined - 0x0(EMPTY)Found no matching peer or user for '10.0.0.1:49214'
Looking for 5421 in invalid
Reliably Transmitting (no NAT):
SIP/2.0 404 Not Found
Via: SIP/2.0/UDP 10.0.0.1:5060
From: "8000" <sip:8000@10.0.0.1>
To: <sip:5421@10.0.0.10;user=phone;phone-context=unknown>;tag=as665b48c4
Call-ID: 9379825F-448511D9-BF5FD0BD-78836A62@10.0.0.1
CSeq: 101 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:5421@10.0.0.10>
Content-Length: 0
to 10.0.0.1:5060
asterisk*CLI>
Sip read:
ACK sip:5421@10.0.0.10;user=phone;phone-context=unknown SIP/2.0
Via: SIP/2.0/UDP 10.0.0.1:5060
From: "8000" <sip:8000@10.0.0.1>
To: <sip:5421@10.0.0.10;user=phone;phone-context=unknown>;tag=as665b48c4
Date: Fri, 03 Dec 2004 17:14:07 GMT
Call-ID: 9379825F-448511D9-BF5FD0BD-78836A62@10.0.0.1
Max-Forwards: 6
CSeq: 101 ACK
8 headers, 0 lines
Destroying call '9379825F-448511D9-BF5FD0BD-78836A62@10.0.0.1'
--- snip snip ---
Configuración en el router Cisco:
--- snip snip ---
...
...
...
voice class codec 2
codec preference 1 g723ar53
codec preference 2 g723ar63
codec preference 3 g723r53
codec preference 4 g723r63
codec preference 5 g711ulaw
codec preference 6 g711alaw
codec preference 7 gsmefr
codec preference 8 gsmfr
...
...
...
dial-peer voice 602 voip
destination-pattern 542.
voice-class codec 2
session protocol sipv2
session target ipv4:10.0.0.10
dtmf-relay h245-alphanumeric
ip precedence 5
...
...
...
--- snip snip ---
Si existe algún otro tipo de información que pueda facilitarles no duden en avisarme.
Muchas gracias,
Fede
Comentario