Terça-feira, 15 de Junho de 2010
CallCenter
Como explicado no primeiro post deste blogue, um dos objectivos deste projecto é, ao iniciar uma chamada, reproduzir publicidade enquanto se espera que o destinatário da chamada atenda. Isto foi alterado, na medida em que, ao ser iniciada uma chamada é reproduzida publicidade, mas só quando a publicidade acaba é que a chamada é redireccionada para o destinatário.
Para implementar o CallCenter foi usado o SailFin [1] para interagir com as mensagens SIP [2]. O OpenIMS teve também de ser configurado para comunicar com o SailFin [4].
Para exemplificar o funcionamento do CallCenter suponhamos que a Alice quer ligar ao Bob. O SIP Client da Alice envia um Invite para o Bob que é redireccionado pelo OpenIMS para o SailFin. No SailFin, este Invite, é processado por um Sip Servlet que começa por contactar, através de um Web Service, a aplicação principal para saber qual a publicidade a reproduzir. Depois, é enviado uma SIP Message com o nome da publicidade para o MediaGateway seguida do Invite da Alice, com o destino alterado para o endereço SIP do MediaGateway. Ao receber este Invite, o MediaGateway, estabelece uma chamada com a Alice onde é reproduzida a publicidade. Quando a publicidade acaba, o MediaGateway envia um Bye. Este é apanhado pelo SailFin que envia um Refer [3] à Alice para transferir a chamada actualmente estabelecida com o MediaGateway para o Bob. Ao receber este Refer, a Alice envia um novo Invite para o Bob. A partir deste momento, segue-se um fluxo típico SIP, onde o Bob aceita, ou não, a chamada.