Para SMS Center foi escolhido o software Kannel, que permite o envio/recepção de mensagens, que irá ser necessário para o serviço de procura de empresas.
Um dos aspectos positivos do Kannel é que este permite enviar as mensagens mesmo por GSM, recorrendo a um telemovel ou uma placa 3G (usando comandos AT).
Inicialmente tentou-se usar um Nokia N80 em conjunto com o kannel para o envio/recepção de SMS, no entanto este modelo, assim como restantes Nokia SERIES 60 V3, não suportam os comandos AT para recepção de mensagens, e assim sendo apenas foi possível proceder ao envio de mensagens. Foram ainda tentados outros telemóveis, mas sem sucesso pois também não suportavam estes comandos, excepto o Nokia 8310, pois como é um telemovel mais antigo ainda disponha destes comandos, o problema é que a ligação série tinha de ser feita por infravermelhos.
Finalmente recorreu-se ao uso de uma placa 3G da Vodafone (Huawei K3565), que permite tanto o envio como recepção de SMS.
Para correr o Kannel basta executar o bearerbox (core do gateway) e o smsbox, sendo que é através do smsbox que se enviam as mensagens.
Após ter o Kannel a correr, o envido de mensagens é simples, bastando aceder ao endereço
http://smsbox.host.name:13013/cgi-bin/sendsms?
username=foo&password=bar&to=0123456&text=Hello+world
e passando como parametros o username e password (de acordo com o que se encontra nos ficheiros de configuração), o destinatário, e a mensagem a enviar.
O processo de recepção de mensagens também é simples, bastando indicar no ficheiro de configuração qual o URL a aceder aquando da recepção de uma SMS, podendo então ser passada a mensagem recebida, assim como o nº de telefone do remetente. O Kannel disponibiliza ainda um mecanismo de filtragem das SMS recebidas, sendo possível enviar a mensagem para um serviço diferente dependendo da palavra inicial enviada na SMS, ou do nº do remetente, mas para o nosso caso isto não foi utilizado.
Durante a configuração do Kannel (já usando a placa 3G) surgiu o problema de as mensagens estarem a ser lidas pelo bearerbox, mas estas ficavam em queue e não eram processadas, sendo que aparecia na consola do bearerbox o seguinte warning: "smsbox_list empty!". Para resolver este problema basta comentar a linha smsbox-id = "..." no grupo smsbox.