Por definición cualquier tipo de query SQL diseñada por un programador
web PHP autodidacta (salvo honrosas excepciones) que tras programar su
propio blog PHP casero (incluyendo "apt-get install apache
mysql-server") se ha lanzado al mercado laboral como experto en
Asterisk (y por supuesto "también en VoIP").
La ineficiencia de dichas queries SQL puede deberse bien al no uso de
índices de tablas (¿soquesloquees?), al uso de JOIN indebido (que en
tablas myisam bloquea la tabla entera y no permite INSERT mientras
dure el SELECT) o bien al uso de queries del estilo "SELET * FROM
tabla" realizadas sobre una tabla con 1 millón de registros o con
contenido binario.
Jo, ojalá estuviese exagerando, pero es lo que me dice la experiencia...
De eso que dices me preocupa principalmente 1 cosa. El desprestigio al
que arrastra a desarrollos bien hechos en Asterisk.
Tipos que hacen cualquier cacharreo, lo venden como "centralita", va
para la mie… y se generaliza que Asterisk es malo.
Ya me ha pasado con 1 cliente que prefiere pagar marca y funcionalidad
limitada a trabajar con una plataforma bien hecha basada en Asterisk.
Hay mucho chapucero lamentablemente.
Saludos.
El 27/05/10, Iñaki Baz Castillo <i...@aliax.net> escribió:
Digo que son más porque la "cagada" suele ser muuucho mayor; el cabreo
del cliente suele ser directamente proporcional al precio de la
centralita.... vamos, tengo una "al caer" de las supermega Siemens
Hipath de 40000 eurazos en una cadena de restaurantes, que al
distribuidor se la van a meter por el ****, junto con las licencias de
canceladores de eco, de trunks y más cosillas
Por norma general, los que ponen marcas típicas de analógicas /
Digitales, suelen tener muchos menos conocimientos de networking que
alguien que instala distribuciones enlatadas.....habrá excepciones, pero
vamos, lo de RTP, QoS y demás siglas de "frikis" que dicen ellos, se
supone que se hace por arte me magia en los switches, routers y demás
cacharros de red.
En el tema de enlatadas todo va bien hasta que la instalación empieza a
crecer y al distribuidor se le va de las manos o empieza a pedir más
features.
La centralitas de marca tienen muchos limitantes, pero básicamente son
confiables en un uso estándar.
El problema es que hay tipos que leen una página web de asterisk,
hacen preguntas en un foro, hacen "algo" y con eso salen a la calle
pretendendiendo competir con siemens, avaya, alcatel, y como es de
suponer, terminan haciendo un fiasco.
Yo he visto cada cosa…
Tipos que cotizaban plataformas con asterisk+elastix sin siquiera
conocer elastix!! Y te hablo de contratos de 300 extensiones con lvr,
callme, etc.
Eso termina mal, y el desprestigio es para asterisk.
Es un esquema diferente. Una marca, da una respuesta en común para sus
centralitas y se defiende con su prestigio y poder publicitario.
Pero asterisk es otra cosa, cada uno lo hace como puede o quiere.
Es por esto que yo sostengo normalmente no hablar de la tecnología que ofrezco.
Yo ofrezco un producto o servicio y se me juzga por mi trabajo y no
por la tecnología que utilizo.
Asterisk debe ser simplemente un entorno de desarrollo, pero se está
ofreciendo en el mercado como una "solución económica" lo que nos
encasilla mal.
Saludos.
El 28/05/10, Angel <cr...@craem.net> escribió:
Estoy lanzando las llamadas usando el manager del asterisk. Se cursan
correctamente pero me gustaria grabar en el cdr mas informacion de la
estandar, la info que quiero son unos parametros que le paso en la
generacion de la llamada y la causa del Hangup. Pero no lo consigo
desues de muchas pruebas. Alguna ayuda de la lista? No consigo
registar info adiconal.
Mil gracias
Pedro
Version 1.4.21.2~dfsg-3+lenny1 sobre debian.
cdr_manager.conf
[general]
enabled = yes
Event: Cdr
Event: Hangup <-- No se si es necesario
manager.conf
[general]
enabled = yes
port = 5038
bindaddr = 127.0.0.1
[lanzamiento]
secret = clave
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
read = system,call,log,verbose,command,agent,user,config,cdr
write = system,call,log,verbose,command,agent,user,config,cdr
Esto es lo que le paso por medio del manager
Siendo ($prefix . $trunk . $number . $ip) variables que uso para la
construccion de la llamada
He quitado mas variables para no liar el script
## Send user name.
$pop->print("Action: login");
$pop->print("Username: $username");
$pop->print("Secret: $secret");
$pop->print("Events: on");
$pop->print("Event: Cdr");
$pop->print("");
## Request status of messages.
$pop->print("Action: Originate");
$pop->print("Event: Cdr");
$pop->print("Event: Hangup ");
$pop->print("Channel: SIP/" . $prefix . $trunk . $number . "\@" . $ip );
$pop->print("Priority: 1");
$pop->print("Action: SetCDRUserField");
$pop->print("CDEvent: Hangup
$pop->print("CDR(miRG)=". $trunk );
Aclaracion --> En cdr_custom.conf si tengo declarado CDR(miRG) y
funcionando para las llamadas que genero de otras formas.
Esta es la respuesta del manager
Event: Hangup
Privilege: call,all
Channel: SIP/79.170.64.153-08169998
Uniqueid: asterisk-1275466066.1
Cause: 17
Cause-txt: User busy
Event: Cdr
Privilege: call,all
AccountCode:
Source: 3915439809
Destination: s
DestinationContext: default
CallerID: 3915439809
Channel: SIP/78.162.65.123-08169998
DestinationChannel:
LastApplication:
LastData:
StartTime: 2010-06-02 08:07:46
AnswerTime:
EndTime: 2010-06-02 08:07:56
Duration: 10
BillableSeconds: 0
Disposition: BUSY
AMAFlags: DOCUMENTATION
UniqueID: asterisk-1275466066.1
UserField:
Variable: CDR(lalala)=lalala
--
/Saúl
http://saghul.net | http://sipdoc.net
>
> Hola a todos,
>
> Estoy lanzando las llamadas usando el manager del asterisk. Se cursan
> correctamente pero me gustaria grabar en el cdr mas informacion de la
> estandar, la info que quiero son unos parametros que le paso en la
> generacion de la llamada y la causa del Hangup. Pero no lo consigo
> desues de muchas pruebas. Alguna ayuda de la lista? No consigo
> registar info adiconal.
>
> Mil gracias
> Pedro
Y eso qué tiene que ver con el click2call?
Por favor, cuando quieras preguntar algo en la lista dale a componer mensaje
nuevo en vez de dar al botón responder.
Hilo nuevo en respuesta de uno anterior.
Puff.. si es que la ley esta mas permisiva cada día, no es la misma que
antes...
Solo hoy hubo 3
1 - HELP !!!!! en el asunto
2 - 120 palabras sin una coma ni punto.
3 - este hilo..
El 02/06/10, Jorge Eduardo Silva Jackson <sys...@gmail.com> escribió:
2010/6/2 Jorge Eduardo Silva Jackson <sys...@gmail.com>:
> Estas dormido Saul ?
>
> Hilo nuevo en respuesta de uno anterior.
>
> Puff.. si es que la ley esta mas permisiva cada día, no es la misma que
> antes...
>
Yo uso Gmail para lo bueno y para lo malo y mi correo tiene una
cabecera Inreply-To por lo que veo, así que asumo que a google se le
ha ido un rato la pinza (no sería la primera vez).
(sonido onomatopéyico de katana entrando en vaina.)
> 2010/6/2 Jorge Eduardo Silva Jackson <sys...@gmail.com>:
>
>> Estas dormido Saul ?
>>
>> Hilo nuevo en respuesta de uno anterior.
>>
>> Puff.. si es que la ley esta mas permisiva cada día, no es la misma que
>> antes...
>>
>>
>
> Yo uso Gmail para lo bueno y para lo malo y mi correo tiene una
> cabecera Inreply-To por lo que veo, así que asumo que a google se le
> ha ido un rato la pinza (no sería la primera vez).
>
>
>
Tienes razón, ha visto algún otro por estos lados....
Estas perdonado : ) , no te pediremos que te hagas en jarakiri entonces.
Saludos
eDU
En la 1.4 también.
Esta es la parte que lanzo al manager, no consigo reflejar el campo del
cdr que estoy buscando. Alguna ayuda?
Gracias por adelantado
$pop->print("Action: Originate");
$pop->print("Event: Cdr");
$pop->print("Event: Hangup ");
$pop->print("Channel: SIP/" . $prefix . $trunk . $number . "\@" . $ip );
$pop->print("Priority: 1");
#$pop->print("Context: fromtelecop");
$pop->print("DestinationContext: fromtelecop");
$pop->print("Duration: " . $timerand );
$pop->print("CallerID: ". $callerid_rand );
$pop->print("Action: SetCDRUserField");
$pop->print("CDR(miRG)=". $trunk );
Pero el manager me responde
Event: Cdr
Privilege: call,all
AccountCode:
Source: 38618020938
Destination: s
DestinationContext: default
CallerID: 38618020938
Channel: SIP/79.170.64.153-08194530
DestinationChannel:
LastApplication:
LastData:
StartTime: 2010-06-02 17:35:34
AnswerTime: 2010-06-02 17:35:42
EndTime: 2010-06-02 17:35:42
Duration: 8
BillableSeconds: 0
Disposition: ANSWERED
AMAFlags: DOCUMENTATION
UniqueID: asterisk-1275500134.15906
UserField:
I�aki Baz Castillo wrote:
> 2010/6/2 Sa�l Ibarra Corretg� <sag...@gmail.com>:
>
>> No tengo una 1.4 delante, pero en la 1.6 veo que la accion Originate
>> admite un campo Variable, que puede repetirse.
>>
>> Variable: CDR(lalala)=lalala
>>
>
> En la 1.4 tambi�n.
>
>
Saludos
David
>
>> No tengo una 1.4 delante, pero en la 1.6 veo que la accion Originate
>> admite un campo Variable, que puede repetirse.
>>
>> Variable: CDR(lalala)=lalala
>>
>
> En la 1.4 también.
>
>
Sólo lo he usado con una librería AMI y no sé cómo genera el request
AMI, pero yo probaría con esto:
$pop->print("Variable: cdr_mi_rg=". $trunk );
Eso te crea una variable *de canal* llamada "cdr_mi_rg". Entonces en
el dialplan haces:
Set(CDR(miRG)=${cdr_mi_rg})
Saludos.
Muchas gracias por la respuesta, no puedo usar el dialplan para este
caso ya que hay llamadas que no obeceden el dialplan y no consigo
averiguar porque, es una cosa que estoy con ella, estoy con el debug
pero esa es otra historia.
Para registar campos adicionales con el manager, lo he conseguido de
esta forma, $pop->print("Variable: CDR(miCDR)=333"); teniendo en el
cdr_custom: "${CDR(miRG)}". Lo que si soy incapaz es de capturar la
release cause por medio del manager, alguna ayuda? Si que la consigo
capturar por dialplan, pero en este caso las llamadas son generadas de
otra forma,
Gracias
Pedro