Cursos Servidores con Centos 6
Sistema Operativo ALDOS
Dezoft

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

 Índice > Todo acerca de Linux > Asterisk y VoIP Nuevo tema Publicar Respuesta
 Testing Asterisk usando SIPp
Tema anterior Tema siguiente
   
Anónimo Ivan
Publicado en 06/07/07 10:12 (Leído 7170 veces)  


Quisiera que me ayuden por favor con este problema

Quiero analizar la capacidad de llamadas en asterisk y quiero utilizar la herramienta SIPp, ambas aplicaciones las instale en mi misma maquina, por otro lado quiero emular varios usuarios "user agents" generando varias llamadas a distintos destinos mediante el SIPp y tuve varios problemas.

estos son mis archivos tanto del SIPp como del Asterisk

*SIPp

*** este es mi escenario .xml ***

prueba.xml

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">


<scenario name="Basic Sipstone UAC">
<send retrans="500">
<![CDATA[

INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: [field0] <sip:[field1]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: sip:[field1]@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Type: application/sdp
Content-Length: [len]

v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] [media_ip]
t=0 0
m=audio [media_port] RTP/AVP 0
a=rtpmap:0 PCMU/8000

]]>
</send>

<recv response="100"
optional="true">
</recv>

<recv response="180" optional="true">
</recv>

<recv response="183" optional="true">
</recv>

<recv response="200" rtd="true">
</recv>

<send>
<![CDATA[

ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: [field0] <sip:[field1]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 1 ACK
Contact: sip:[field1]@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0

]]>
</send>

<pause/>

<send retrans="500">
<![CDATA[

BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: [field0] <sip:[field1]@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 2 BYE
Contact: sip:[field1]@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0

]]>
</send>

<recv response="200" crlf="true">
</recv>

<CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>

</scenario>


*** este es el archivo .csv del cual el .xml extrae los datos y los proporciona a los campos [fieldX] ***

database3.csv

SEQUENTIAL
sipp0;sipp0;10.40.4.100
sipp1;sipp1;127.0.0.1
sipp2;sipp2;127.0.0.2
sipp3;sipp3;127.0.0.3
sipp4;sipp4;127.0.0.4
sipp5;sipp5;127.0.0.5

------------------- 0 -------------------

*ASTERISK

*** estos son mis usuarios en mi configuracion sip.conf ***

[sipp0]
type=friend
context=sipp
host=dynamic
port=6000
user=sipp0
canreinvite=yes
disallow=all
allow=ulaw

[sipp1]
type=friend
context=sipp
host=dynamic
port=6000
user=sipp1
canreinvite=yes
disallow=all
allow=ulaw

[sipp2]
type=friend
context=sipp
host=dynamic
port=6000
user=sipp2
canreinvite=yes
disallow=all
allow=ulaw

[sipp3]
type=friend
context=sipp
host=dynamic
port=6000
user=sipp3
canreinvite=yes
disallow=all
allow=ulaw

[sipp4]
type=friend
context=sipp
host=dynamic
port=6000
user=sipp4
canreinvite=yes
disallow=all
allow=ulaw

[sipp5]
type=friend
context=sipp
host=dynamic
port=6000
user=sipp5
canreinvite=yes
disallow=all
allow=ulaw


*** estas son mis extensiones en el extension.conf ***

[sipp]
exten => 2005,1,Answer
exten => 2005,2,SetMusicOnHold(default)
exten => 2005,3,WaitMusicOnHold(20)
exten => 2005,4,Hangup


exten => 2002,1,Answer
exten => 2002,2,Goto(MENUCONTEXTORSIMILARCONTEXT,s,1)
exten => 2002,3,Hangup


exten => 2006,1,Answer
exten => 2006,2,SetMusicOnHold(default)
exten => 2006,3,WaitMusicOnHold(20)
exten => 2006,4,Hangup

exten => 2007,1,Answer
exten => 2007,2,SetMusicOnHold(default)
exten => 2007,3,WaitMusicOnHold(20)
exten => 2007,4,Hangup

exten => 2008,1,Answer
exten => 2008,2,SetMusicOnHold(default)
exten => 2008,3,WaitMusicOnHold(20)
exten => 2008,4,Hangup

exten => 2009,1,Answer
exten => 2009,2,SetMusicOnHold(default)
exten => 2009,3,WaitMusicOnHold(20)
exten => 2009,4,Hangup

exten => 2010,1,Answer
exten => 2010,2,SetMusicOnHold(default)
exten => 2010,3,WaitMusicOnHold(20)
exten => 2010,4,Hangup


*** Este es el commando utilizado en la "terminal" en la que ejecuto el SIPp ***

linux-pruebas:~/sipp-2.0.1.src # ./sipp -sf prueba.xml -t ui -inf database3.csv -ip_field 2 -s 2006 10.40.4.100 -l 10

-- Me sale el siguiente error: "2007-07-06 17:05:14: Unknown host 'sipp' ", y no hace nada

*** Si modifico el orden de los datos en el archivo .csv (cambiando tb el ***
*** orden de los campos [fieldX] en el archivo .xml) y cambiando el comando por ***

linux-pruebas:~/sipp-2.0.1.src # ./sipp -sf prueba.xml -t ui -inf database3.csv -s 2006 10.40.4.100 -l 10

*** La herramienta SIPp se ejecuta pero no extrae los datos de la base de datos ***
*** y pone valores por defecto a los campos [fieldX] pero pone un espacio de mas ***
*** lo cual provoca un error en la respuesta al INVITE del asterisk, ya que no ***
*** encuentra al usuario "destino", en este caso al "2006", (esto lo observe ***
*** mediante el Ethereal) y sale error 404 not found, (asterisk no encuentra al ***
*** 2006) por tal razo el SIPp me devuelve este mensaje de error ***

2007-07-06 15:30:17: Aborting call on unexpected message for Call-ID '204-10063@10.40.4.100': while expecting '100' response, received 'SIP/2.0 404 Not Found
Via: SIP/2.0/UDP 10.40.4.100:3793;branch=z9hG4bK-10063-204-0;received=10.40.4.100
From: sipp <sip: sipp@10.40.4.100:3793>;tag=10063SIPpTag00204
To: sut <sip:2006@10.40.4.100:5060>;tag=as4d1339cd
Call-ID: 204-10063@10.40.4.100
CSeq: 1 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Length: 0


*** no lee de la base de datos y en lugar de colocar: ***

From: sipp0 <sip:sipp0@10.40.4.100:3793>;tag=10063SIPpTag00204

*** coloca: ***

From: sipp <sip: sipp@10.40.4.100:3793>;tag=10063SIPpTag00204

*** quiza sea esta la razon por la cual no funciona bien ***





POR OTRO LADO DECIDI UTILIZAR LO SIGUIENTE

Un socket por llamada y ya no un socket por IP address

cambie la linea de comando por lo siguiente:

linux-pruebas:~/sipp-2.0.1.src # ./sipp -sf prueba.xml -t un -inf database3.csv -ip_field 2 -s 2006 10.40.4.100 -l 10

esta es ves pareciera que funcionara todo bien pero al analizarlo con el ethereal se observa que solo crea un socket, quiza este error sea por que solo estoy llamando todas las llamadas generadas son a la mismo destino y por eso solo aparece un socket en uso ya que las otras no se concretan por que esta ocupado el destino

pero mi objetivo es llamar a distintos destinos y no se como hacerlo alguien me podria ayudar y tb a solucionar los problemas anteriomente mencionados


Gracias de antemano y disculpen si les hice leer demasiado
IVAN


 
 Citar
Contenido generado en: 0,05 segundos Nuevo tema Publicar Respuesta
 Todas las horas son UTC. Hora actual 02:29 .
Tema normal Tema normal
Tema persistente Tema persistente
Tema cerrado Tema cerrado
Nueva publicación Nueva publicación
Persistente con nueva publicación Persistente con nueva publicación
Cerrado con nueva publicación Cerrado con nueva publicación
Ver publicaciones anónimas 
Usuarios anónimos pueden publicar 
Se permite HTML Filtrado 
Contenido censurado