Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
26-01-2015, 21:27 (Lunes)
Inicio Ayuda Reglas Buscar Ingresar Registrarse
Noticias:
Liberada version final de wifislax-4.10.1 version de mantenimiento



+  Seguridad Wireless - Wifi
|-+  Equipos y materiales
| |-+  Puntos de acceso, routers, switchs y bridges
| | |-+  Openwrt (Moderadores: jar229, Noltari, Pteridium, Tki2000)
| | | |-+  VoIP en routers de yacom arv4518 y arv7518.
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: 1 ... 3 4 5 6 7 [8] Ir Abajo Imprimir
Autor Tema: VoIP en routers de yacom arv4518 y arv7518.  (Leído 20945 veces)
pelocho
**
Desconectado Desconectado

Mensajes: 25


Ver Perfil
« Respuesta #140 : 10-11-2014, 16:52 (Lunes) »

Se me ha olvidado decir qe la wifi y el ADSL también funcionan.
En línea
pelocho
**
Desconectado Desconectado

Mensajes: 25


Ver Perfil
« Respuesta #141 : 16-11-2014, 20:39 (Domingo) »

Hola a todos.

He creado un parche para solucionar un problema en las llamadas tanto en el router 4518 como en el 7518, tanto en attitude adjustment como en barrier breaker. El problema se presenta cuando usas Asterisk, tienes dos teléfonos conectados al router, estás hablando con alguien por uno de ellos y alguien te llama. En vez de sonar sólo por el teléfono que está ocioso, se te corta la llamada del primer teléfono.

Para solucionarlo, hay que editar el fichero chan_lantiq.c antes de compilar y añadir esto en la línea 760 (en la función ast_lantiq_requester, después de la línea que pone "port_id -= 1;"):

   /* check if port is in use */
   struct lantiq_pvt *pvt = &iflist[port_id];
   if (pvt->owner != NULL){
      ast_verbose(VERBOSE_PREFIX_3 "Request to create new channel on port_id %i, but port is in use. Channel not created.\n", port_id);
      ast_verbose(VERBOSE_PREFIX_3 "Port state:%s.\n", state_string(pvt->channel_state));
      *cause = AST_CAUSE_USER_BUSY;
      ast_mutex_unlock(&iflock);
      return NULL;
   }

El problema radicaba en que, cuando entraba una nueva llamada, no se comprobaba si había una conversación en curso antes de crear una nueva conversación en el mismo puerto.

Estoy probándolo y parece que va bien. Cuando pasen unos días lo enviaré a OpenWrt para que lo añadan y todo el mundo pueda verse beneficiado.

Un saludo.
« Última modificación: 16-11-2014, 20:40 (Domingo) por pelocho » En línea
pelocho
**
Desconectado Desconectado

Mensajes: 25


Ver Perfil
« Respuesta #142 : 16-11-2014, 21:08 (Domingo) »

De hecho, estoy pensando que, en teoría, el problema no sólo se presentaría si tienes dos teléfonos, sino que también ocurriría cuando tienes un sólo teléfono.
En línea
pelocho
**
Desconectado Desconectado

Mensajes: 25


Ver Perfil
« Respuesta #143 : 21-01-2015, 19:14 (Mircoles) »

Hola a todos.

Ya he solucionado todos los problemas que tenía con Asterisk cuando usaba los teléfonos tradicionales. Todos los problemas los originaba el paquete  “asterisk18-chan-lantiq”. Dicho paquete se genera a partir del fichero “chan_lantiq.c” que se encuentra en las siguientes rutas:

- En Attitude Adjustment está en la ruta "feeds/packages/net/asterisk-1.8.x/src-lantiq/channels/chan_lantiq.c"
- En Barrier Breaker y en trunk está en la ruta "feeds/telephony/net/asterisk-1.8.x/src-lantiq/channels/chan_lantiq.c"

El contenido del fichero no ha variado desde Attitude Adjustment, así que todos los problemas se presentan tanto en AA, como en BB, como en trunk. El contenido del fichero también es el mismo tanto si compilamos para el router 4518 como para el 7518.

Hace tiempo que envié los primeros parches a un mantenedor de OpenWRT, pero todavía no los ha probado porque está muy liado con otros temas (y tiene pinta de que tardará todavía muchísimo). Así que, si queréis corregir los problemas, tenéis que modificar el contenido del citado fichero vosotros mismos antes de compilar. Para que os sea más fácil, os paso el fichero chan_lantiq.c que yo uso. Podéis descargarlo de aquí:

http://www.mediafire.com/download/5bk72bc892spbas/chan_lantiq.zip

Después de ejecutar el comando ./scripts/feeds/update –a, se os habrá creado el fichero en la ruta que os he indicado arriba. Lo sustituís por el mío y proseguís con el proceso de compilación.

Estos son los problemas que corrigen mis parches:

1. Cuando estamos en conversación con alguien, si una tercera persona nos llama, se corta la conversación que estábamos manteniendo.

2. Cuando llamamos a alguien, internamente Asterisk le asigna siempre el identificador "TAPI/1" a esa llamada, no teniendo en cuenta que podemos tener dos teléfonos conectados al router, por lo que se dificulta muchísimo la diagnosis de problemas y el seguimiento de las llamadas en la consola y en el fichero de log. Modifico el código fuente para que asigne el identificador TAPI/1 cuando iniciemos conversación en el puerto FXS 0 del router, y TAPI/2 cuando iniciemos conversación en el puerto FXS 1. Este el comportamiento que ya venía predefinido cuando en vez de hacer nosotros las llamadas somos los que las recibimos.

3.Cuando somos nosotros los que finalizamos una llamada, no se da orden al driver VoIP para que se quede en stand-by, por lo que sigue intentando codificar tráfico de voz y enviarlo después de finalizada la llamada, cargando a la CPU permanente de forma innecesaria. Si tenemos en cuenta que podemos tener dos teléfonos conectados al router, la carga de CPU desperdiciada se multiplica por dos, produciendo cortes de voz en el tráfico de subida que impiden que el otro participante de la conversación nos oiga bien. Si ves una traza en dmesg que dice "Upstream packet fifo full[ch(0)]!", incluso en horas en las que nos estabas usando el teléfono, es un síntoma inequívoco de que estás sufriendo el problema.

4.En el log de Asterisk a veces aparece la traza "IFX_TAPI_TONE_LOCAL_PLAY ioctl failed". Esto se debe a que está intentando emitir el tono de silencio en situaciones en las que es imposible hacerlo, y el driver se queja de ello.

5.He incluido otras mejoras, como por ejemplo que tengamos un límite de 4 segundos por cada dígito que marcamos al llamar. Por defecto este límite está fijado en dos segundos y a veces, cuando no te sabes el teléfono de memoria y estás leyéndolo de otro sitio,  no te da tiempo a marcar el siguiente dígito y tienes que volver a empezar desde el principio.

Espero que os sirva de ayuda.

Pido a los moderadores que modifiquen el primer post de este hilo con un resumen de todo lo que hemos avanzado en el tema de la VoIP con estos routers.

Un saludo.
« Última modificación: 21-01-2015, 19:25 (Mircoles) por pelocho » En línea
Tki2000
Moderador
*
Desconectado Desconectado

Mensajes: 735


Ver Perfil
« Respuesta #144 : 21-01-2015, 20:21 (Mircoles) »

@pelocho

Muy bueno. Seguro que a más de uno le viene esto de perlas...  Angry Angry Angry
En línea

No habrás entendido algo, hasta que seas capaz de explicárselo a tu abuela...
Páginas: 1 ... 3 4 5 6 7 [8] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.20 | SMF © 2006-2008, Simple Machines