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

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

Desconectado mos-fet

  • PIC10
  • *
  • Mensajes: 11
Deteccion de tono de ocupado
« en: 01 de Septiembre de 2004, 13:09:00 »
Hola a todos, estoy tratando de fabricar un preatendedor casero. Mi intencion es recibir una llamada , detectar que se discó ó si hubo silencio y luego trasferir las llamadas segun lo que hizo el usuario. Tambien tengo pensado agregarle la posibilidad de 20 seg de mensaje personalizado al inicio de cada atencion de llamada . Lo estoy realizando paso a paso , y el primer problema que se me presenta es que aca en Argentina , para detectar la finalizacion de llamadas establecidas no puedo contar con la famosa inversion de linea , porque las empresas telefonicas no lo hacen , lo que si hacen es enviar porsterior al corte un tono de ocupado cuya frecuencia aprox. es de 430 hz. y cadencia 410 ms ON , 270 OFF . Tenia pensado filtrar la linea telefonica para solo dar paso a la señal principal de 430 hz y luego procesarla con un PIC para que la deteccion de las cadencias sean seguras . Me gustaria escuchar sugerencias y recomendaciones por parte de Uds . Si tienen algun LINK con info se los agradeceré muchisimo . Saludos

Desconectado Duende_Azul

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 857
RE: Deteccion de tono de ocupado
« Respuesta #1 en: 01 de Septiembre de 2004, 13:25:00 »
Que tal si colocas un LM567(detector de tonos) para que se active cuando aparezca dicha frecuencia?

Desconectado mos-fet

  • PIC10
  • *
  • Mensajes: 11
RE: Deteccion de tono de ocupado
« Respuesta #2 en: 01 de Septiembre de 2004, 15:56:00 »
Si , Ok el LM567 tiene un VCO controlado por tensio, hay configuraciones que me permiten tener un valor alto cuando esta presente la señal de 430 hz y en valor bajo cuando no lo esta . Pero queria saber si habia algun otro metodo mas fiable , por ejemplo mediante algun PIC con conversor A/D , que muestree exactamente cuando esta presente la señal mencionada y a la cadencia correcta del Busy Tone . Yo realice pruebas con el LM567 pero en algunas ocaciones hay oscilaciones en la salida cuando en la linea telefonica hay señales con armonicas parecidas a los 430 hz . Espero comentarios . Gracias .

Desconectado mos-fet

  • PIC10
  • *
  • Mensajes: 11
RE: Deteccion de tono de ocupado
« Respuesta #3 en: 07 de Septiembre de 2004, 16:01:00 »
Les comento que estuve observando varios planos de contestadoras telefonicas y la mayoria tiene un pequeño circuito muy similar al que pongo a disposicion . Aparentemente no es mas que un filtraje analogico capacitivo que dispara al transistor solo cuando hay frecuencias cercanas al del Dial Tone , posteriormente esta señal cuadrada ( replica de presencia o no de Dial tone ) la puedo procesar con un PIC para determinar sugun el muestreo a una base de tiempo , si es un DIAL TONE , un Ringing o un Busy tone . Esto lo probe y funciona , pero....... , este filtro no es muy preciso , ocurre que si vengo por la linea con una frecuencia de por decir 600 hz ( muy cerca del grupo bajo de tonos DTMF ) y respeto los timing de un Busy tone , el micro la toma como tal , osea al sistema le dalo mismo . Mi intencion es ajustar mas este punto flojo y para ello tenia pensado utilizar el CI CM8880 , que por estos pagos ( Argentina ) por suerte lo consigo, entiendo que este bicho puede generar y decodificar tonos DTMF , pero tiene la opcion de CP ( Call Progress ) , que segun lo que pude leer en el data sheet  (no me manejo muy bien con el Ingles pero...) me permite salir con una señal cuadrada REPLICA a los estados de presencia de los 430 hz .
En resumen mucho mas preciso y fiable que el anterior simple circuito capacitivo .  
Por eso DUENDE , MIKE _NAVIA  o el que pueda  " Llamado a la solidaridad " se necesita consejos de como predisponer el CM 8880 ( o similar ) para detectar el progreso de la llamada .

Logrando esto se podria tener un mejor control , de mi proyecto central que es el preatendedor .

Agradesco mucho el tiempo que al menos tomen para leer mis comentarios .
Cualquier opinion que modestamente les pueda yo ofrecer sobre Centrales Telefonicas  con gusto se las daré, en particular de la marca NORTEL .

Saludos desde Buenos Aires


PD : Quise subir el archivo JPG de solo 75 K pero no me deja .
Pruebo subirlo luego .

Desconectado Carlete71

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

Mos-Fet, si quieres te puedo diseñar un filtro activo Chebychev para que te detecte el tono de ocupado. solo dime la frecuencia exacta y el ancho de banda.

Saludos,

Desconectado mos-fet

  • PIC10
  • *
  • Mensajes: 11
RE: Deteccion de tono de ocupado
« Respuesta #5 en: 08 de Septiembre de 2004, 09:11:00 »
Amigo CARLETE , la frecuencia a detectar es 430 hz , y con un ancho de banda de 100hz estaria bien para poder detectar esta señal sin otras armonicas espurias . Lo importante es que no debe detectar señales de la gama de los 690 Hz para arriba ya que en esa zona se encuentra el grupo bajo de frecuencias DTMF . Posterior al filtro mi idea seria conectarlo a un bc548 con un capacitor de retardo en la base para encuadrar la señal y tener una replica de los estados de presencia ó no de 430 hz . Luego esta onda cuadrada es comparada por su cadencia atraves de un PIC para saber si , es un DIAL TONE ( continuo ) , Llamando ( 1,1 seg. ON y 4 seg. OFF) o si es un Busy Tone ( 410ms. ON y 270ms.OFF ) .
 De esta forma seria posible saber que esta ocurriendo en la linea mas o menos en tiempor real .
- Si el PIC detecta que no hay cadencia (presencia continua de señal)  estamos en presencia de un DIAL TONE .
- Si el PIC detecta una cadencia de Busy Tone , podria realizar el control de liberacion de  la linea , ó si estaba realizando una llamada podria emitir la orden de rellamada a otro destino alternativo .
- Si el PIC detecta una cadencia de Llamada (Ring Back Tone) , se podrian saber 2 cosas, 1ero :  Si esta cadencia es detectada por un tiempo >= a 2 minutos y luego no hay cadencia ( sin presencia de 430 hz ) entonces estamos en presencia de un TIME OUT por parte de la Central Publica , nuestro sistema de control ( PIC ) deberia enviar la orden de liberar la linea y volver a intentar otra opcion . 2da : Si la cadencia es detectada por un tiempo < a 2 minutos y luego no hay mas deteccion de señal a 430 hz , estonces se ha establecido la comunicacion .

Cabe destacar que estos tiempos son valido en Argentina , en otros paises lo desconozco , pero la idea principal seria la misma .

CARLETE , con gusto voy a probar el circuito FILTRO que me puedas pasar , obviamente los mas exigentes me diran que los valores de los filtros pueden cambiar por efectos de la temperatura y etc, etc , etc . Yo creo que con un buen filtro podria andar . De todas formas si alguien puede aportar con info sobre como conseguir algo similar con el CM8880 bien venido sea .Tal vez con este CI se puedan realizar las 3 operaciones necesarias para el PREATENDEDOR , escuchar DTMF , interpretar el progreso de la llamada y emitir DTMF .

Saludos y gracias a todos por el tiempo que dedican a esta querida pagina .

Saludos

Pd :Sigo sin poder pegar archivo adjunto , me dice
" Se han producido los siguientes errores:

Lo sentimos, no hay suficiente espacio disponible para subir el adjunto. "

Alguien sabe algo sobre esto ...


Tengan presente que : " PEQUEÑAS COSAS, HACEN GRANDES DIFERENCIAS "


Desconectado odukec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 174
RE: Deteccion de tono de ocupado
« Respuesta #6 en: 08 de Septiembre de 2004, 09:28:00 »
Hola..

Yo uso un cm8888, y este tiene una opcion de call progress sirve para lo que estas necesitando,

Esta funcion la implementas por medio del registro de control.. si miras el datasheet hay una grafica en la que muestra cual es el rango aproximado en el cual detecta estos tonos, para tu caso 430Hz, cada vez que existe esta frecuencia en la entrada el cm8888 da un estado alto en el pin DTMF/CP, es muy util.. porque como dices tu esta cadencia se analiza con el pic y sabemos el estado de la linea.

Ademas si estas detectando tambien tonos dtmf el mismo integrado te sirve, y todo se maneja por medio de software.

En el datasheet esta todo.. si necesitas ayuda pues posteas de nuevo..!!

Adios

Desconectado mos-fet

  • PIC10
  • *
  • Mensajes: 11
RE: Deteccion de tono de ocupado
« Respuesta #7 en: 08 de Septiembre de 2004, 11:21:00 »
Ok , odukec , voy a echar un vistazo al datasheet del CM8888, creo que el CM8880 es parecido ( por ahora solo consigo este ultimo en Argentina ), pruebo hacer la deteccion y te comento .

CARLETE, de todas formas voy a esperar tambien tu circuito si todavia esta disponible .


Saludos y gracias .

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Deteccion de tono de ocupado
« Respuesta #8 en: 08 de Septiembre de 2004, 17:13:00 »

Ok, lo voy a calcular con Fc=430Hz, BW=100Hz Voy a utilizar en principio una atenuación de 20db en la banda de rechazo que equivale a 10 veces menos.

Te escribo cuando lo tenga.

Saludos,

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Deteccion de tono de ocupado
« Respuesta #9 en: 09 de Septiembre de 2004, 16:41:00 »
A ver pruébate este:

Bueno básicamente diseñé el filtro con Fc=430Hz y BW=40Hz por cuestiones de costo ya que quería que me saliera un solo bloque. Para 690Hz, como indicaste que no quieres detectarla atenué la señal 20db que equivale a 10 veces menos. Sobre los componentes, hay miles de posibles combinaciones así que traté de buscar algo comercial sin que se me alteraran los valores de diseño. En el archivo anexo verás el filtro y la respuesta en frecuencia del mismo.

Bueno espero que te sirva para tu proyecto.

Si tienes algún problema avísame porque de la teoría a la práctica hay un trecho.

Saludos,


http://miarroba.com/foros/ver.php?foroid=256746&temaid=2304005

Desconectado mos-fet

  • PIC10
  • *
  • Mensajes: 11
RE: Deteccion de tono de ocupado
« Respuesta #10 en: 10 de Septiembre de 2004, 10:02:00 »
Ok , CARLETE , voy a probarlo y luego te comento como fue , puede ser ventajoso este filtro para tener un cierto espectro de resguardo  a la hora de detectar el tono de ocupado .


ODUKEC, una consulta con el uso del CM8880 , veo que este CI tien la posibilidad de realizar basicamente 3 tareas , Recibir DTMF , Emitir DTMF y el famoso Call Progress . Estas actividades son comandadas via el Registro de Control .
Ahora bien como puedo hacer para detectar este escenario ? :
Una llamada ingresa a mi Preatendedor ---> Detecto el Ring y Contesto --> Ahora deberia estar atento a lo siguiente :
1 - Si hay tonos DTMF en la linea deberia ser reconocido por el PIC y luego activar alguna accion ( Ejemplo , realizar un Flash y tranferir la llamada al numero que se disco ).
2 - Tambien debo estar a tento a que si el Usuario que llama cortó (por cualquier circunstancia), tengo que poder recibir cadencias de Busy  saliendo del PIN IRQ/CP , para que el PIC detecte esto y luego libere la linea . Esto ultimo por lo que se ve en el Datasheet es imposible , porque solo puedo al mimo tiempo :
A - Recibir y Trasmitir DTMF
B - Recibir Call Progress y Trasmitir DTMF .

Se les ocurre alguna solucion para poder realizar las 3 operaciones utilizando solo un CM8880 . De momento se me da por probar alguna alternancia entre el Estado A y el Estado B . Pero no se si los tiempos de transicion que el PIC podria realizar en el rigistro de Control del CM880 , permitirian que este relice bien su labor de deteccion de los tonos tanto DTMF como el CP .

Saludos a todos, gracias por sus opiniones y referencias .
Se los agradesco mucho de antemano .


Desconectado odukec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 174
RE: Deteccion de tono de ocupado
« Respuesta #11 en: 10 de Septiembre de 2004, 21:38:00 »
Si.. ese seria el dilema.. bueno.. pues dinos que necesitas hacer especificamente.. ya que para lo que yo uso esta funcion es valido.. pero parece ser que para la tuya no.. bueno.. igual para todo hay solucion.. asi que explica lo que necesitas hacer, que llevas hecho.. y entre todos encontraremos algo para solucionarlo.. no crees..?

Saludos

Desconectado mos-fet

  • PIC10
  • *
  • Mensajes: 11
RE: Deteccion de tono de ocupado
« Respuesta #12 en: 10 de Septiembre de 2004, 23:50:00 »
Odukec, gracias por responder, de momento lo que necesito es poder detectar simultaneamente DTMF y el Call Progress , porque al levantar la llamada el Preatendedor, debera ser capaz de saber que disco el usuario que llamo, y tambien tendrá que  estar atento al monitoreo de cadencia del Busy Tone para abortar el proceso de atencion y liberar la linea telefonica para estar disponible y recibir otra llamada.
Si es posible realizarlo con un solo CM8880/8888 , seria beneficioso . Si no tendria que utilizar 2 uno para recibir y transmitir DTMF y el otro solo para el Call Progress .
No tengo mucha experiencia con este Chip por eso estoy un poco confundido .

Al margen de esto , en paralelo estoy tratando de interfacear el PIC contra un ISD1420 , el cual me permitira ofrecer un  breve mensaje de presentacion de llamada al comienzo .Soñando un poco mas mi idea es que cualquiera con una PC pudiera cargarle un audio WAV a este ISD1420 a traves del port Serial o Paralelo.

De todo esto , concreto en el Protoboard solo tengo la parte estrictamente telefonica . Una vez superado y confirmado el Ok de esta seccion le dare de lleno a lo otro . Mil disculpas por no postear circuito alguno , todavia me parecen cosas sueltas, ni bien tenga algo REAL lo pongo . ( Pero aunque lo tuviera , no se poque el FORO no me permite subir archivos , alguien sabe porque ?, sera por un tema de perfil ) Tratare de hacerlo de alguna forma .

Saludos a todos.

Desconectado Carlete71

  • PIC18
  • ****
  • Mensajes: 433
RE: Deteccion de tono de ocupado
« Respuesta #13 en: 11 de Septiembre de 2004, 07:42:00 »
Sube los archivos aquí

http://miarroba.com/foros/ver.php?id=256746

Y luego pones el enlace.

Saludos,

Desconectado odukec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 174
RE: Deteccion de tono de ocupado
« Respuesta #14 en: 11 de Septiembre de 2004, 10:15:00 »
Hola..

Tendrias que a cada momento configurarlo en call progres, mirar si existe cadencia de tonos, si no volver a configurarlo en dtmf, y mirar si existe un tono y asi.. cosa que seria muy poco practica, ya que se te puede perder alguna marcacion, seria mejor usar en conjunto un detector dtmf.

Bueno.. hay que echarle un poco de cabeza a ver que es lo mas conveniente..  porque si es asi.. mas bien te sirve el detector de tonos que te hizo el amigo Carlete.. ya que este no tendrias que configurarlo.

De todas formas.. pensare un poco a ver si se pueden hacer estas dos cosas simultaneamente con un mismo chip.

Saludos



 

anything