Integrando a portabilidade no FreeSWITCH via SIP redirect.
FreeSWITCH é um dos mais conhecidos sistemas para telefonia IP, uma alternativa muito usada em todo o mundo. E nosso sistema de portabilidade integra com facilidade a portabilidade neste fantástico switch.
Para isso vamos adicionar a conta da portabilidade como um gateway SIP. Este novo GATEWAY sera quem vai conectar seu FreeSwitch com nossos servidores.
Para adicionar o gateway crie um arquivo no diretório sip_profiles/external chamado ChipCerto.xml com o conteudo
<include>
<gateway name="ChipCerto">
<param name="username" value="SEU_USUARIO"/>
<param name="password" value="SUA_SENHA"/>
<param name="realm" value="sip.portabilidadecelular.com"/>
<param name="register" value="true"/>
</gateway>
</include>
A consulta sera feita usando o método Redirect, por tanto você precisa ativar a opçao no profile default no seu FreeSWITCH.
Descomentando a linha <!–<param name=”manual-redirect” value=”true”/> — > Para descomentar a linha, basta remover as tags <!– — >.
Agora temos que configurar nosso dialplan para enviar as chamadas de celular para no gateway ChipCerto
<extension name="Consulta_ChipCerto">
<condition field="destination_number" expression="^([1-9]{2}[6-9][0-9]{7}$)">
<action application="export" data="sip_redirect_context=default"/>
<action application="bridge" data="sofia/gateway/ChipCerto/$1"/>
</condition>
</extension>
<extension name="Consulta_ChipCerto_NonoDigito">
<condition field="destination_number" expression="(^[1,2,8,9][1-9]9[0-9]{8}$)">
<action application="export" data="sip_redirect_context=default"/>
<action application="bridge" data="sofia/gateway/ChipCerto/$1"/>
</condition>
</extension>
Agora so falta alterar o dialplan, neste caso o dialplan sera o DEFAULT, pois configuramos no contexto acima, para receber as chamadas que serão retornada do nosso servidor.
<extension name="Tim">
<condition field="destination_number" expression="(^55341)(\d*$)">
<action application="bridge" data="sofia/gatewayTIM/041$2"/>
</condition>
</extension>
<extension name="Vivo">
<condition field="destination_number" expression="(^55315|55320)(\d*$)">
<action application="bridge" data="sofia/gatewayVIVO/020$2"/>
</condition>
</extension>
<extension name="Claro">
<condition field="destination_number" expression="(^55321)(\d*$)">
<action application="bridge" data="sofia/gatewayCLARO/021$2"/>
</condition>
</extension>
<extension name="Oi">
<condition field="destination_number" expression="(^55314|55331|55335)(\d*$)">
<action application="bridge" data="sofia/gatewayOI/031$2"/>
</condition>
</extension>
Lembre de configurar os Gateways de saida de cada cada operadora, neste exemplo usamos gatewayOI, gatewayTIM, gatewayCLARO, gatewayVIVO
Agora entre no console do FreeSWITCH," fs_cli " e execute o reload dos modulos sofia e dialplan.
reloadxml
reload mod_sofia
Pronto, agora seu FreeSWITCH ja esta pronto para fazer a consulta.