» Configuration Asterisk pour Freephonie en SIP – Le Comptoir de Sinhaladweepa

Après quelques tâtonnements, voici la configuration contenue dans /etc/asterisk/sip.conf permettant à Asterisk d’accéder au service SIP offert par Freephonie :

[general]

defaultexpiry=1800

register => 0951727841:monsecret9@freephonie.net

dtmfmode=auto

[freephonie-out]

type=peer

host=freephonie.net

qualify=yes

username=0951727841

fromuser=0951727841

secret=monsecret

disallow=all

allow=alaw

Le codec G711 alaw est ma préférence personnelle : la qualité sonore avant tout en attendant G722. D’autes préférerons le libre et moderne speex ou l’universel gsm dont le rapport qualité/débit est meilleur.

Je parle de tâtonnements parce que j’ai au départ omis le contenu de la section [general] sus-citée. Le ‘register =>’ est toujours indispensable, mais dans le cas de Freephonie il faut également allonger le délai d’expiration par défaut pour accommoder les lenteurs de l’enregistrement auprès du serveur freephonie.net. Résultat lors d’une initiation de session SIP sans ces éléments de configuration, /var/log/asterisk/messages m’affichait ceci :

[Jun 2 23:10:30] NOTICE[13456] chan_sip.c: Peer ‘freephonie-out’ is now Reachable. (46ms / 2000ms)

[Jun 2 23:11:18] WARNING[13456] chan_sip.c: Received response: “Forbidden” from ‘”Jean-Marc Liotier” <sip:0951727841@81.57.93.188>;tag=as66e575c5′

Et vue par le salvateur Wireshark, la session SIP était comme suit :

81.57.93.188 212.27.52.5 Request: INVITE sip:0493498229@freephonie.net, with session description

212.27.52.5 81.57.93.188 Status: 100 Trying

212.27.52.5 81.57.93.188 Status: 403 not registered

81.57.93.188 212.27.52.5 Request: ACK sip:0493498229@freephonie.net

Avec la configuration ci-dessus, ces problèmes ont disparu. Il ne reste plus qu’à ajouter une route au contexte général dans /etc/asterisk/extensions.conf et vous pouvez émettre des appels. Un exemple simpliste mais fonctionnel qui routera vers Free tous les numéros commençant par zéro :

exten => _0.,1,Dial(SIP/freephonie-out/${EXTEN})

Seule mouche persistante dans le potage : les keepalives moisis transmis toutes les trois secondes par le Cirpack de Free – un bug de leur part connu depuis plus de deux ans. Free et/ou Cirpack ne font apparemment rien pour corriger ce défaut et le projet Asterisk a pour doctrine de ne pas accomoder les comportements déviants de ses pairs – les standards il n’y a que ça de vrai.

La solution pour ne plus entendre ce bavardage aussi déplorable qu’inoffensif à travers un lien de 17 Mb/s est probablement une simple règle iptablesque je publierai dès que je l’aurais mise au point. D’ici que les logs retrouvent la plénitude de leur silence originel il faudra se contenter de ‘grep -v’. Du côté de Wireshark le filtre d’affichage “!(data.data == 43:69:72:70:61:63:6b:20:4b:65:65:70:41:6c:69:76:65:20:50:61:63:6b:65:74:00:00:00:00:00:00:00:00)” restitue la lisibilité du dialogue.

via» Configuration Asterisk pour Freephonie en SIP – Le Comptoir de Sinhaladweepa.