Asterisk + Auto-answer + Softphone sur Windows

Asterisk permet d’utiliser les fonctionnalités paging et intercom. Le paging permet faire une annonce générale à un groupe d’extension. Les extensions concernées diffuseront l’annonce sans que l’on ait besoin de décrocher.
La fonctionnalité intercom permet de joindre une extension au lieu de joindre un Paging Group et d’effectuer une annonce sans que l’extension destinataire ait besoin de décrocher.
Ces fonctionnalités ne marchent qu’avec certains téléphones permettant le paging.
Les options de Page()

Option

Description

Discussion

d Enables full-duplex audio Sometimes referred to as « talkback paging, » the use of this option implies that the equipment that receives the page has the ability to transmit audio back at the same time as it is receiving audio. Generally, you would not want to use this unless you had a specific need for it.
i Ignores attempts to forward the call You would normally want this option enabled.
q Does not play beep to caller (quiet mode) Normally you won’t use this, but if you have an external amplifier that provides its own tone, you may want to set this option.
r Records the page into a file If you intended on using the same page multiple times in the future, you could record the page and then use it again later by triggering it using Originate() or using the A(x) option to Page().
s Dials a channel only if the device state is NOT_INUSE This option is likely only useful (and reliable) on SIP-bound channels, and even so may not work if a single line is allowed multiple calls on it. Therefore, don’t rely on this option in all cases.
A(x) Plays announcement x to all participants You could use a previously recorded file to be played over the paging system. If you combined this with Originate() and Record(), you could implement a delayed paging system.
n Does not play announcement simultaneously to caller (implies A(x)) By default the system will play the paged audio to both the caller and the callee. If this option is enabled, the paged audio will not be played to the caller (the person paging).

Les exemples simples.
Paging des postes SIP prédéfinis :

; Les appelés ne peuvent parler (micro coupé)
exten => _**1,1,SIPAddHeader(Call-Info: Answer-After=0)
exten => _**1,n,Page(SIP/101&SIP/102&SIP/103)
exten => _**1,n,Hangup
; Les appelés peuvent parler (micro actif)
exten => _**2,1,SIPAddHeader(Call-Info: Answer-After=0)
exten => _**2,n,Page(SIP/101&SIP/102&SIP/103|d)
exten => _**2,n,Hangup

Appel de la fonction Page() avec des postes qui ne sont pas occupées.

[page]
; Appel de la fonction Page() avec le N° du poste
exten => _1XX,1,Macro(page,SIP/${EXTEN})
[macro-page];
; Macro d’interphone
; Controle d’abord si le poste n’est pas occupé
; – ${ARG1} – Le numéro du poste à appeler

exten => s,1,ChanIsAvail(${ARG1}|js)    ; j est pour saut (Jump) et s pour tous les appels

exten => s,n,GoToIf([${AVAILSTATUS} = « 1 »]?autoanswer:fail)

exten => s,n(autoanswer),Set(_ALERT_INFO= »RA »)    ; Paramètrage pour les PolyComs

exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) ; Paramètrage pour les Grandstream, Snoms, et les autres

exten => s,n,Dial(${ARG1}||)

exten => s,n(fail),Hangup()

Appels internes des postes SIP en mode interphone

exten => _XXX,1,SIPAddHeader(Alert-Info: Ring Answer)
exten => _XXX,2,Dial(SIP/${EXTEN})

Dans toutes les exemples on utilise l’application SIPAddHeader( ) que permet d’ajouter d’un en-tête SIP à l’appel sortant .

Voici quelques exemples d’utiliser SIPAddHeader( ) pour les téléphones VOIP physiques (« hardphone »)
Pour Aastra:

exten => n,SIPAddHeader(Alert-Info: info=alert-autoanswer)

Pour Polycom:

exten => n,SIPAddHeader(Alert-Info: Ring Answer)

Pour Snom:

exten => n,SIPAddHeader(Call-Info: sip:domain.com\;answer-after=0)

Pour Cisco SPA (n’est pas pour 79XX series):

exten => n,SIPAddHeader(Call-Info:\;answer-after=0)

Comme nous voyons la mise en place les fonctionnalités paging et intercom pour des « harphones » ne pose pas des problèmes, mais si vous voulez utiliser les softphones, cela devient on peut compliquer de trouver un bon logiciel.

Après des recherches j’ai réussis de trouver les softphones qui répondent aux objectifs.

Pour LINUX c’est un projet open source Linphone et pour Windows c’est un 100% open source JITSI.

On va regarder comme on peut utiliser JITSI SIP client sur Windows.
Du côté Asterisk  on va créer le nouvel utilisateur 1001 :

# nano sip.conf

[1001]
qualify=yes
type=friend
context=local
username=JITSIuser
host=dynamic
secret=passw0rd
;nat=yes
callerid= »RINAL »
callgroup=1
disallow=all
allow=alaw
allow=ulaw
allow=gsm
allow=g729
allow=h264
allow=h263
allow=h263p
directmedia=no

Ajoutons le plan de numérotation pour cet utilisateur :

# nano extensions.conf

; mode interphone
exten => 01001,1,NoOp(Autoanswer- test)
same => n,SIPAddHeader(Alert-Info: Auto Answer)
same => n,Dial(SIP/1001,30)
; mode paging

exten => 01001,1,NoOp(Autoanswer- test)
same => n,SIPAddHeader(Alert-Info: Auto Answer)
same => n,Page(SIP/John&SIP/Fred12&SIP/1001,d)

Maintenait on installe le JITSI sur Windows et on ajoute un nouveau compte SIP 1001 :

On voit que le client s’est bien enregistré sur PBX

jitsi1

On active la réponse automatique :

jitsi2.1

Il faut cocher « Alerte-info » avec « réponse automatique » et si vous voulez utiliser le video : « Répondre aux appels visio par visio »

jitsi2

jitsi4

Votre client SIP est prêt pour les réponses automatiques grâce à l’application SIPAddHeader( ).
De la même manière on peut configurer tout les autres clients SIP.

Mais soyez prudent : les malfaiteurs ayants l’accès à votre ordinateur peuvent configurer le client SIP pour espionner tout vos conversations dans votre bureau et même vous enregistrer en vidéo.

Laisser un commentaire