Por fin termino uno de los servicios que estoy implementando en Telcoblocks
El servicio seleccionado consiste en la personalización de anuncios a un llamante combinado con un servicio de llamadas a través de la web ClickToDial. Los usuarios se registran en un portal web, especifican una serie de datos en su perfil, y pueden realizar llamadas pinchando en un botón (servicio ClickToDial). En el momento en el que se cursa la llamada, el sistema selecciona un anuncio auditivo, que es escuchado por el usuario, y una vez que termina el anuncio se cursa la llamada al destinatario. A cambio de escuchar la llamada, el usuario puede recibir alguna promoción, tales como descuentos o minutos gratis.
Primeramente, intentaremos abordar el problema desde el punto de vista de SIP. En el escenario de este servicio debe haber, al menos, dos clientes SIP registrados en nuestro servidor (llamante y destinatario de la llamada).
Una vez registrados ambos terminales, se procede a la realización de la llamada. La petición SIP de llamada(INVITE) es dirigida al registrar, que va a dirigir dicha petición al servidor multimedia (SEMS) que reproducirá el anuncio solicitado. La cabecera de la petición enviada por el registrar al media server tiene un formato especificado en la RFC 4240 . En la cabecera de esta petición debe ir especificado el anuncio que debe ser reproducido por el servidor multimedia, en un parámetro llamado ”play=”. Una vez finalizada la reproducción del anuncio, se finaliza la sesión para negociar la sesión con el destinatario de la llamada.
Para realizar la selección del anuncio, se emplea el componente de personalización previamente descrito. La base de conocimiento consta de tres inferencias: segmentación de la población, clasificación de anuncios y selección del anuncio. Tal como se indica, actualmente las dos primeras inferencias se realizan en la fase de registro, mientras que la selección del anuncio se realiza en tiempo real con cada llamada.
La segmentación de la población, consiste en clasificar cada uno de los usuarios de la plataforma en cada uno de los segmentos de población que se han definido a partir de criterios de edad y estudio/trabajo. Esta segmentación se realizará cada vez que un usuario se registra en el sistema, o modifica uno de los campos que afecta a la segmentación. No es necesario hacer una segmentación de la población entera cada vez que se modifica un usuario, sino que basta con solo insertar a ese usuario en la base de conocimiento, partiendo del hecho de que los perfiles de usuario son estáticos en este caso.
La clasificación de los anuncios sigue criterios parecidos, clasificándolos en categorías de contenidos y precios cuando los anuncios son dados de alta o modificados. Asi pues la clasificación de los anuncios atiende a los siguientes criterios:
- Edad, diferenciando si van dirigidos a mayores de edad o no.
- Temática (Ocio, Cultura, Evento…)
- Precio, distinguiendo si va dirigido a un público con un poder adquisitivo elevado o no.
La última fase es la fase de elección del anuncio emplea una técnica de puntuación (scoring) de los anuncios según su afinidad al perfil del llamante (por edad, por aficiones, por nivel social (trabajo), región, etc) y a algunas características que tengan en común llamante, usuario llamado y anuncio. Una vez puntuados todos los anuncios siguiendo estos criterios, se elige el de mayor puntuación que será reproducido por el servidor multimedia para posteriormente cursarse la llamada solicitada.
