Asterisk+Android

BAndrAster

Le But : lancer Aserisk sur Android.
Les possibilités d’utilisation : la démonstration des fonctionnalités d’Asterisk pour les clients, monter le serveur VOIP très économique dans votre réseau privé à la maison, comme la plate-forme des tests et etc.

L’installation a été testée avec Alcatel Idol X (sur la mémoire interne) et avec Lenovo S960s (sur la carte SD).

1. installer Ubuntu Utopic sur Android avec LinuxDeploy (regarder cet article). Si vous auriez des problèmes vous pouvez également essayer avec Debian Wheezy

2. changer le mot de passe root et préparer l’accès par ssh.
Apres d’installation Ubuntu ou Debian sur Android avec LinuxDeploy on a la possibilité de se connecter par ssh avec l’utilisateur android et mot de passe changeme :

On change mot de passe pour l’utilisateur root :

# sudo su
# passwd

3. Si vous avez installé ubuntu 14.04 + il faut autoriser la connexion root via ssh

# apt-get install nano
# nano /etc/ssh/sshd_config

On trouve la ligne:
PermitRootLogin without-password
et on la change :
PermitRootLogin yes

On redémarre le service ssh

# service ssh restart

On se reconnecte avec root et on change le mot de passe pour l’utilisateur « android » (pour la sécurité) :

# passwd android

Vous pouvez également supprimer ou bloquer cet utilisateur.

4. On prépare l’installation :

# sudo apt-get update
# sudo apt-get upgrade

5. Installation.
On va faire l’installation simple d’Asterisk depuis des repos mais j’ai testé aussi l’installation plus complète depuis des sources avec des modules supplémentaires et ça marche aussi.

# apt-get install mc tmux htop asterisk

Après de la fin d’installation il faut lancer asterisk et maintenant on peut se connecter par la console :

# asterisk start
# asterisk -r

6. Configuration.
Après d’avoir installé Asterisk, dans le directory /etc/asterisk/ seront créer toutes les fichiers nécessaires. Pour la configuration minimale de serveur VOIP il faut modifier les fichiers suivants : sip.conf, extensions.conf et queues.conf.

Les exemples des fichiers de configuration :

# nano sip.conf

[general]

context=incoming_calls

allowguest=no

;match_auth_username=yes ; if available, match user entry using the

allowoverlap=no ; Enable RFC3578 overlap dialing support.

udpbindaddr=0.0.0.0

transport=udp

srvlookup=yes ; Enable DNS SRV lookups on outbound calls

;pedantic=yes ; Enable checking of tags in headers,

disallow=all ; First disallow all codecs

allow=ulaw ; Allow codecs in order of preference

language=ru ; Default language setting for all users/peers

relaxdtmf=yes ; Relax dtmf handling

useragent=Asterisk PBX ; Allows you to change the user agent string

dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833

videosupport=yes ; Turn on support for SIP video. You need to turn this

alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected,

autocreatepeer=no ; Allow any UAC not explicitly defined to register

rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity

recordhistory=yes ; Record SIP history by default

dumphistory=yes ; Dump SIP history at end of SIP dialogue

t38pt_udptl = yes,redundancy,maxdatagram=300

faxdetect = no ; Default ‘no’, ‘yes’ enables both CNG and T.38 detection

nat=no

jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a

canreinvite=no

rfc2833compensate=yes

limitonpeers = yes

externrefresh=60

disallow=all

allow=ulaw,alaw

qualify=yes

echocancel=yes

echocancelwhenbridged=yes

; Provider

[ext_template](!)

disallow=all

allow=ulaw,alaw

type=peer

context=incoming_calls

nat=force_rport,comedia

host=sip.wengo.fr

fromdomain=sip.wengo.fr

insecure=port,invite

[trunk](ext_template)

fromuser=05xxxxxxxxxx

defaultuser=05xxxxxxxxx

authname=05xxxxxxxxx

secret=MySecret

;Templates

[global_template](!)

type=friend

qualify=yes

host=dynamic

nat=no

notifyringing=yes

call-limit=1

limitonpeers=yes

insecure=port,invite

secret=pass

callgroup=1

pickupgroup=1

context=outgoing_calls

;SIP users

[101](global_template)

[102](global_template)

[103](global_template)

[104](global_template)

[105](global_template)

# nano extensions.conf

[default]

exten => _X.,1,Hangup()

[globals]

[features]

exten => ##,1,Pickup()

[incoming_calls]

;from-trunk

exten => s,1,NoOp(${CALLERID(num)})

same => n,Answer()

same => n,Queue(main,tr)

same => n,Hangup()

[outgoing_calls]

exten => _007XXXXXXXXXX,1,NoOp(${CALLERID(num)}) ; en Russie

same => n,Dial(SIP/trunk/${EXTEN},,tTr)

same => n,Hangup()

exten => _0[1-7,9]XXXXXXXX,1,NoOp(${CALLERID(num)}) ; en France

same => n,Dial(SIP/trunk/${EXTEN},,tTr)

same => n,Hangup()

include => internal_calls

[internal_calls]

exten => _10[12345],1,Dial(SIP/${EXTEN},,tTr)

same => n,Hangup()

# nano queues.conf

[general]persistentmembers = yesautofill = yes

monitor-type = MixMonitor

updatecdr = yes

;musicclass = default

strategy = rrmemory

context = incoming_calls

timeout = 20

retry = 1

weight=0

wrapuptime=1

autofill=yes

maxlen = 0

announce-frequency = 0

relative-periodic-announce=no

announce-holdtime = no

announce-position = no

monitor-format = wav

ringinuse = no

[main]

strategy = rrmemory

ringinuse=no

member => SIP/101

member => SIP/102

member => SIP/103

member => SIP/104

member => SIP/105

On stop le service Asterisk :

# service asterisk stop

;pour voir le démarrage des modules

# asterisk -cvvvvvvv

On prépare les clients SIP :

Username : 101
password : pass
domain : 192.168.0.10

Laisser un commentaire