Autor Tema: Deteccion de tono de ocupado  (Leído 10860 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado mos-fet

  • PIC10
  • *
  • Mensajes: 11
RE: Deteccion de tono de ocupado
« Respuesta #15 en: 13 de Septiembre de 2004, 08:35:00 »
Ok , gracias CARLETE pero me dice que no tengo nivel de usuario para dejar archivos ,  en cuanto a la elecccion , puede que tengas razon ODUKEC , tal vez voy a utilizar el CM8880 como transceiver DTMF solamente y adicionalmente pruebe el filtro de CARLETE para detectar el tono y luego verificar su cadencia , al fin y al cabo lo mas critico me parece que no es la frecuencia sino la cadencia que tiene la misma para identificar los estados de la llamada .

Echenle un visazo a esta pagina interesante del amigo Boris Estudiez, me parece que se me adelantó , jejeje . Tiene cosas interesantes .
http://stk.freeshell.org/electronixs.html


Saludos a todos .

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Deteccion de tono de ocupado
« Respuesta #16 en: 13 de Septiembre de 2004, 19:07:00 »

Si quieres pásamelo por privado y yo lo publico por ti mos-fet.

Saludos,

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Deteccion de tono de ocupado
« Respuesta #17 en: 14 de Septiembre de 2004, 20:49:00 »

Listo mos-fet, ya coloqué los archivos aquí:

Detector de 430 hz , sacado de una contestadora Kx-t1000 .

http://miarroba.com/foros/ver.php?foroid=256746&temaid=2322933&msgid=20184349#20184349

Saludos,

Desconectado JupEsp

  • PIC10
  • *
  • Mensajes: 11
RE: Deteccion de tono de ocupado
« Respuesta #18 en: 06 de Enero de 2005, 09:26:00 »
Hola a todos.

Hace unos días he terminado un proyecto de un interface telefónico en el que se necesitaba
detectar el progreso de llamada para poder realizar determinada acciones.

 Quisiera comentaros varias cuestiones que se han de tener en cuenta:

Las señales de indicación de proceso de llamada se definen por un tono de una determinada frecuencia entre
310Hz a 640 Hz  con distintas cadencias según lo que este ocurriendo en la línea.

Para detectar estas frecuencias se puede utilizar un filtro pasa banda en el rango de 310Hz a 640 Hz  con corte abrupto
tanto en el rango inferior como en el superior.

Hay integrados específicos que realizan esta función, yo he utilizado el M-980-02 que esta diseñado para este propósito.

Este integrado tiene una patilla para la entrada de señal de audio desde la interfaz de línea, una patilla de habilitación  y la salida de señal, uno lógico para tono detectado y cero para tono no detectado, o fuera de banda.

Una vez implementado el circuito solo tendremos que analizar la cadencia de las señales para determinar el estado del progreso de la llamada.


Cuando generamos una llamada tendremos:

1º Descolgado, tono continuo salida a 1 que es tono de línea

2º  Una vez marcado el numero a llamar si este es correcto tendremos la cadencia 2.0/4.0s o lo que es lo mismo dos segundos con la salida a 1 y cuatro segundos con la salida a 0

3º  Al descolgar al otro lado de la línea desaparece la cadencia y aparecerán impulsos en la patilla de salida, esto se produce por que las frecuencias vocales tienen un amplio rango de frecuencias que entraran dentro del rango de detección del filtro del call progress detector.

4º Si se produce el colgado al otro lado de la línea tendremos una cadencia de pulsos de 0.25/0.25s

------------------------------------------------------------------------------------------------------

Para poder detectar con claridad estas cadencias tendremos que programar un algoritmo que tenga en cuenta estas variables, atendiendo de manera especifica al apartado 3 y los impulsos producidos por las señales vocales.

En el sistema que yo he programado he utilizado dos cronómetros que me indican el tiempo de los impulsos tanto en estado alto como en estado Bajo de las señales suministradas por la salida de detección del integrado.

Y he aplicado después unas ventanas de comparación para el análisis de los distintos estados del progreso de la llamada.


Se han de tener en cuenta métodos para evitar que el sistema de los cronómetros, se quede enganchado en un bucle infinito.

Y realizar muestreos sucesivos de las señales.

El peor de los casos es la detección de colgado al otro lado de la línea cuando están presentes señales de voz o datos durante el funcionamiento normal del sistema.

Para lo cual recomiendo que se realicen tomas de datos periódicas para no ralentizar otras tareas, a no ser que dediquemos un procesador especifico para el análisis del progreso de llamada que se comunique con el procesador general.


Conclusiones.

Como podéis ver, la detección se complica y sobre todo cuando hay señales vocales y de datos durante el análisis de las mismas, de todas formas en el momento en que se cuelga al otro extremo de la línea, la secuencia de tonos es clara y limpia y solo nos tenemos que preocupar de falsas indicaciones de colgado durante la transmisión de voz o de los datos.

Para los que no conozcan muy bien el sistema de señalización de las líneas telefónicas, indicaros, que en las centrales modernas urbanas (las de las compañías telefónicas) se produce otra señalización mucho más clara y más segura, que es la de la inversión de polaridad en la línea. (se puede detectar con un opto acoplador en serie con la línea telefónica)

La línea cambiara de polaridad cada vez que al otro lado de la misma se realice una operación de colgado o descolgado.

Con lo que dispondremos de señales precisas y fáciles de analizar.

Por desgracia las extensiones de centralitas PBX carecen de este sistema de señalización para no incrementar los costes de las mismas, por lo cual me vi obligado a implementarlo en mi proyecto, ya que se conectaría a una centralita telefónica de un hogar.  


Para finalizar, comentaros que hay integrados con detección de dos rangos de frecuencias uno para los producidos en el margen de la detección de progreso de llamada, y otro fuera del rango, de este modo si tenemos un 1 lógico en los dos terminales podemos descartar que sé este produciendo una señalización de progreso de llamada y se tratara de una información o vocal o de datos.
 
Hay sistemas o integrados que realizan un análisis completo de las señales pero son caros y difíciles de implementar por sus complicadas señales de inicialización, e incluso hay sistemas basados en DSP que implementan los filtros y el análisis de las señales, se puede encontrar documentación en Internet.

Esto es todo.

Gracias por vuestra atención

Saludos

Juan

Desconectado JupEsp

  • PIC10
  • *
  • Mensajes: 11
RE: Deteccion de tono de ocupado
« Respuesta #19 en: 11 de Enero de 2005, 08:07:00 »

Hola a todos

Estoy completamente de acuerdos con el comentarios de mos-fet

Lo ideal es tomar muestras consecutivas de la cadencia y decidir mediante su análisis el estado del progreso de llamada, se ha de llegar a un compromiso entre el numero de muestras tomadas para no ralentizar el proceso.

Y es cierto que la cadencia de los tonos varia entre distintos tipos de centralitas y de operadoras telefónicas, para lo cual es recomendable analizar los tiempos de distintas señales de diferentes sistemas y hacer un promedio.

Yo antes de implementar el sistema general, me programe un pic que me mostraba  por RS32 las cadencias y las anchuras de los pulsos que se obtenían en el circuito de call progress.

Me fue de gran utilidad.

Saludos

Juan

Desconectado mario_pastor

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 101
RE: Deteccion de tono de ocupado
« Respuesta #20 en: 31 de Marzo de 2005, 14:35:00 »
Hola a todos,

Juan por favor pordrías ayudarme con lo del análisis del call progress mediante PC, la verdad que llevo variós día es este tema y aun no doy con el resultado. Estoy usando el MT8889 para la detección del call progress, pero necesito saber los tiempos de cada señal que entrega mi operador local (TELEFONICA,. cuanquier ayuda con programa o diagramas me lo puedes enviar a: mario_pastor@hotmail.com

Muchas gracias de ante mano,

Mario
Saludos,
Mario.

Lima - Perú

Desconectado pikman

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 678
RE: Deteccion de tono de ocupado
« Respuesta #21 en: 20 de Abril de 2005, 20:17:00 »
Hola, bueno yo estoy con un sistema que requiere deteccion de call progress he porbado el mt8880 y bueno el problema es que detecta CP o DTMf , asi que migre al HM9220, y anda muy bien, pero encontre uno que ademas de detectar el tono de la linea detecta si hay VOZ, el integrado es el CMX683 de CML microsystems, realmente me ha solucionado un problema pues en mi caso ademas de la caden cia necesitaba sabes si alguien me atendia, habia implentado un VOX, pero no andaba muy bien esto es una maravilla pues por ejemplo, si llamo a un celular y me contesta el contestador automatico puedo directamente descartar la llamada, o en otro caso que tengo, cobrarla, lo que si detectar es que no todas la compañias tienen los tiempos de cadencia iguales, por lo que implemente una rutina que mide el tiempo entre los 2 primeros tones y despues aanaliza si es "llamando" "busy" y si es un tiempo que no esta en la tabla aborta, tambien bueno espero que les sirva mi aporte.

saludos

ARIEL

saludos
PikMan

Desconectado mario_pastor

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 101
RE: Deteccion de tono de ocupado
« Respuesta #22 en: 24 de Abril de 2005, 23:56:00 »
Ariel, gracias por compartir la información en el foro Sonrisa...  yo estoy que le doy vuelta a lo del CALL PROGRESS y ando con un dolor de cabeza que ni te imaginas desquiciado  buscare ese IC y realizare las pruebas... por el momento estoy usando el MT8889 que es muy similar al que usas, por favor podrías decirme a que precio lo consigues en tu país?

Saludos,

Mario.
Saludos,
Mario.

Lima - Perú


 

anything