PDA

Voir la version complète : Utilisation de Csipsimple sur plusieurs smartphones



Thufir71
02/03/2016, 21h28
Bonjour à tous.
Pouvez-vous me dire si Astérisk pourrait me permettre le fonctionnement suivant :

J'ai une ligne SIP chez OVH.
Je voudrais me servir de 2 smartphones (avec l'appli csipsimple par exemple) à la maison pour prendre les appels entrants, et aussi appeler depuis l'un ou l'autre.
Le système est actuellement en place, mais le problème est qu'un seul smartphone peut être connecté à la ligne SIP, donc lors d'un appel entrant un seul téléphone sonne.

Je voudrais que les 2 sonnent et que l'on puisse prendre l'appel de l'un ou l'autre au choix. De la même manière, on doit pouvoir appeler depuis l'un ou l'autre.
Pour résumé, avoir la même chose qu'en utilisant un classique téléphone DECT avec combiné supplémentaire.

Alors, est-ce qu'un serveur Astérisk le permet (de manière assez facile, car je ne le connais pas du tout) ?

Merci pour votre aide

jean
02/03/2016, 23h19
oui, chaque smartphone doit avoir sa propre externsion, (100 & 101 par exemple) et ensuite, il suffit de faire dial(sip/100&sip/101) et les deux sonnent en meme temps

Thufir71
03/03/2016, 08h21
Merci pour ta réponse, et pour la confirmation de la possibilité de le faire.

A ton avis, et vu la simplicité des mes besoins, est-ce que je peux utiliser une application pré-installée type Système Asterisk pour Raspberry PI ou alors utiliser mon nas (sous XPEnlogy) sur lequel j'ai à disposition un paquet Astérisk.

Sachant que j'ai peu de connaissance en linux, et que je découvre seulement Astérisk.

J'aurai de toute manière besoin de votre aide. Mais je vais quand même essayer de potasser un peu le sujet pour apprendre les bases.

Merci

jean
03/03/2016, 14h37
ben, comme c'est simple, tout peut le faire... raspbx ou asterisk sur synology, mais (je me répète en ce moment, pas ta faute), vu le nombre de questions que posent les gens sur le gui pour asterisk sur synology, je conseillerai dans ce cas de n'utiliser qu'asterisk et les fichiers de conf à la main

Thufir71
03/03/2016, 19h33
Je vais suivre ton conseil.
Je vais peut être essayer dans un premier temps sur le NAS (Il faudra juste que je trouve comment accéder au fichiers de config d'Astérisk).

Mais avant je vais faire connaissance avec Astérisk. Existe t-il de la doc en Français ?

Thufir71
04/03/2016, 17h34
Bonjour,
J'ai avancé une petit peu (mais juste un peu, j'avais dit que je suis débutant)

J'ai donc installé le paquet Astérisk sur le NAS (version 13.1.0-0063) et j'ai vérifié que je peux aussi accéder aux fichiers de configuration sip.conf, users.conf et extensions.conf pour faire le paramétrage à la main.

J'ai lu pas mal sur le forum et fait également des recherches sur le net pour comprendre un peu le fonctionnement du système.

Premier problème :
Je voulais, dans un premier temps, me connecter à la console Asterisk (asterisk -r) pour en vérifier le bon fonctionnement (suivant articles vu sur le net) mais je ne peux pas : cette commande n'est pas reconnue. C'est cette commande :
/var/packages/Asterisk/target/etc/init.d/asterisk -r

J'obtiens cette réponse : usage: /var/packages/Asterisk/target/etc/init.d/asterisk -r {start | stop | restart | reload | force-reload | status}
J'ai essayé ces commande et ça fonctionne, je peux arrêter, redémarrer le serveur Astérisk.

Autre remarque, il n'y a qu'en lançant une commande avec le chemin complet que ça fonctionne. Si je me positionne dans le dossier init.d (cd /var/packages/Asterisk/target/etc/init.d) la commande n'est pas du tout reconnue

Bon, ce doit être une limitation du à l'installation sur le NAS je suppose ?

Je vais passer à la suite : le paramétrage.
Là, c'est un peu plus compliqué car j'ai bien trouvé un tas d'exemples un peu partout, mais il n'y a jamais les mêmes choses dans ces 3 fichiers.
J'ai vu qu'il faut virer tout le contenu des fichiers
Je n'arrive pas à trouver des explications claires et en Français de l'utilisation des différentes lignes de commande qui sont dans ces fichiers .conf

Pouvez-vous m'aider et m'indiquer ce que je dois y mettre (pour mon compte SIP OVH avec une seule ligne)

Je rappelle que c'est un fonctionnement basique :
- Un appel sur mon numéro OVH fait sonner mes 2 smartphones (avec csipsimple)
- On peut prendre la ligne sur l'un ou l'autre au choix
- Pour passer un appel, on doit aussi pouvoir le faire depuis l'un des 2 smartphones

C'est tout ce dont j'ai besoin.

Je vous remercie infiniment d'avance pour votre aide

jean
04/03/2016, 18h02
asterisk -r qui marche pas.... ben voila pourquoi je conseille pas synology, à moins d'être un guru en synlogy....

- je ferais un find / -name asterisk pour trouver ce qui ressemble à l'éxécutable asterisk
- si les progs ne s'exécutent qu'en mettant le chemin, c'est normal, c'est qu'ils ne sont pas dans le path du shell, et c'est pas idéal (sécurité) de mettre le répertoire courant, donc utilise ./cmde pour lancer une cmde dans le répertoire courant

- il faut mettre dans sip.conf 2 extensions (ce fichier définit qui), et dans extensions.conf , un simple contexte avec
[appels]
exten => _X.,1,Dial(sip/${exten})

est très minimal mais fera la blgaue (à condition que les extensions aient context=appels )

jean
04/03/2016, 18h05
btw, le fichier asterisk que tu as trouvé est le script de lancement/arrêt du service asterisk, et pas le porgramme lui meme

Thufir71
04/03/2016, 19h14
asterisk -r qui marche pas.... ben voila pourquoi je conseille pas synology, à moins d'être un guru en synlogy....Oui, je comprend mieux ce conseil


- je ferais un find / -name asterisk pour trouver ce qui ressemble à l'éxécutable asterisk
Merci pour m'avoir permis de trouver le bon emplacement : c'est /volume1/@appstore/Asterisk/sbin/

J'ai donc pu me connecter à la console :)



- il faut mettre dans sip.conf 2 extensions (ce fichier définit qui)Comme ça, par exemple ? :


[general]
language=fr
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
canreinvite=no
defaultexpiry=3600
registertimeout=30
registerattempts=0
disallow=all
allow=ulaw
allowguest=yes
nat=yes

;Connexion au compte SIP ovh.com
register => numéro-compte-sip:mot-depasse-compte-sip@sip.ovh.fr

[vers-ovh]
disallow=all
type=friend
secret=XXXX
host=sip.ovh.fr
fromdomain=sip.ovh.fr
fromuser=0033XXXXXXXXX
username=0033XXXXXXXXX
nat=yes
context=appels
insecure=invite,port
qualify=yes
dtmfmode=inband
allow=ulaw

[100]
type=friend
username=salon
qualify=no
secret=salon_password
host=dynamic
context=appels
language=fr

[200]
type=friend
username=bureau
qualify=no
secret=bureau_password
host=dynamic
context=appels
language=fr




dans extensions.conf , un simple contexte avec
[appels]
exten => _X.,1,Dial(sip/${exten})

est très minimal mais fera la blgaue (à condition que les extensions aient context=appels )


[appels]
exten => _X.,1,Dial(sip/${exten})

Est-ce ce serait bon ?

jean
04/03/2016, 21h35
c'est pas mal ce que tu montres !

fais un core show settings , et vérifie que tu modifies les fichiers dans le répertoire "Configuration directory" - l’arborescence des synology est un peu bizarre

ton sip.conf me parait bien - pi, qd tu modifies sip.conf => sip reload dans la console, et extensions.conf => dialplan reload
en l'état, si 100 appelle 200, ca doit donner et réciproquement

maitenant, pour voh, il faut ajouter dans la section [general] un register => 0033...:passs@sip.ovh.fr
VIRER le allowguest=yes (cf ma signature) et mettre =no
je prendrais le codec alaw plus commun en europe

après un sip reload, un sip show peers doit montrer le peer ovh enregistré

et si tu modifies ensuite le dialplan

[appels]
exten => _0.,1,Dial(sip/vers-ovh/${exten})

exten => _[1-9].,1,Dial(sip/${exten})

exten => s,1,Dial(sip/100&sip/200)

(des verbose pour décorer sont pas mals venus !)

ensuite, de mémoire, ovh derriere une LB, c'est aussi un peu la zone, tu verras bien (ca se déconnecte)

Thufir71
04/03/2016, 22h18
Merci, je pensais pas faire bien du premier coup :sol:

Alors dans l'ordre :
- j'ai fais un core show settings, et c'est bon pour l'emplacement des fichiers.

- dans la section [general] un register => 0033...:passs@sip.ovh.fr --> c'était fait. D'ailleurs, j'avais déjà fait un sip show peers qui me donnait un statut OK.

- le fichier extensions.conf n'était pas encore fait, je viens de la faire.

Par contre, un soucis pour connecter le compte ovh sur le smartphone à Astérisk. Dans la console, j'ai cette erreur :

NOTICE[4631]: chan_sip.c:27774 handle_request_register: Registration from '"Marie et Daniel" <sip:salon@192.168.x.x>' failed for '192.168.x.x:41523' - Wrong password

Et si je fais un sip show peers, voilà ce que j'ai :

Name/username Host Dyn Forcerport Comedia ACL Port Status Description
100/salon 192.168.2.42 Yes Yes 5060 Unmonitored
200/bureau (Unspecified) D Yes Yes 0 Unmonitored
ovh/0033371400043 91.121.129.159 Yes Yes 5060 OK (45 ms)


Pour l'instant, je n'ai fait que le portable "salon". J'ai mis les identifiants des utilisateurs définis dans sip.conf :
Utilisateur :
username=salon

Mot de passe :
secret=salon_password

Serveur :
L'adresse du NAS : 192.168.x.x:5060

J'ai essayé de ne pas mettre le port dans l'adresse du NAS et aussi de mettre 100 pour l'utilisateur, mais toujours pareil
Je ne vois pas pourquoi ça ne passe pas.

J'ai essayé de changer le mot de passe, mais toujours pareil.
Dans le message d'erreur qui m'indique un mauvais mot de passe ( ' failed for '192.168.x.x:41523') à quoi correspond 41523, un port ?

Thufir71
05/03/2016, 12h27
Bon autre problème ce matin. J'ai d'autres messages d'erreurs ... décidément :sarcastic:

Par contre, sur mon smartphone, je n'ai plus un échec de connection dès que je valide les paramètres. Maintenant il essaye de se connecter (une trentaine de secondes) pendant qu'il affiche "enregistrement", puis erreur time out.
Et dans la console, voilà ce qu'il apparait

[Mar 5 11:09:22] NOTICE[11816][C-00000003]: chan_sip.c:25545 handle_request_invite: Call from '' (23.239.65.99:5070) to extension '99905200972597984291' rejected because extension not found in context 'default'.

[Mar 5 11:09:54] WARNING[11816]: chan_sip.c:4047 retrans_pkt: Retransmission timeout reached on transmission f8d363fa9504bdd6bda780412281ef10 for seqno 1 (Critical Response) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32000ms with no response
Ces 2 messages reviennent régulièrement toutes les 2-3 minutes.

Je vais essayer de tout refaire étape par étape pour voir ce qui cloche

Thufir71
05/03/2016, 12h40
Voilà la suite.
J'ai tout effacé dans sip.conf et extensions.conf

Maintenant, étape par étape, j'ai mis uniquement dans sip.conf :

[general]
language=fr
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
canreinvite=no
defaultexpiry=3600
registertimeout=30
registerattempts=0
disallow=all
allow=alaw
allowguest=no
nat=yes

;Connexion au compte SIP ovh.com
register => 0033XXXXXXXXX:XXXXXXXX@sip3.ovh.fr

[vers-ovh]
disallow=all
type=friend
secret=XXXXXXXX
host=sip.ovh.fr
fromdomain=sip3.ovh.fr
fromuser=0033XXXXXXXXX
username=0033XXXXXXXXX
nat=yes
context=appels
insecure=invite,port
qualify=yes
dtmfmode=inband
allow=alaw

Un petit sip show peers me donne :

Name/username Host Dyn Forcerport Comedia ACL Port Status Description
vers-ovh/0033371400043 91.121.129.20 Yes Yes 5060 OK (43 ms)
1 sip peers [Monitored: 1 online, 0 offline Unmonitored: 0 online, 0 offline]A priori, c'est bon

Puis quelques instants après :

[Mar 5 11:28:25] WARNING[11816]: chan_sip.c:4109 retrans_pkt: Timeout on cfd42024c1b3e6333f778595d5d78400 on non-critical invite transaction.
[Mar 5 11:30:14] WARNING[11816]: chan_sip.c:4109 retrans_pkt: Timeout on 8077076307539f9badd9e84377987c85 on non-critical invite transaction.
[Mar 5 11:31:57] WARNING[11816]: chan_sip.c:4109 retrans_pkt: Timeout on 7306c7ee626e0c601d72d7e32340c606 on non-critical invite transaction.

Bon, je comprend plus. J'avais pas ça hier

jean
07/03/2016, 14h36
ca sent le piratage:
[Mar 5 11:09:22] NOTICE[11816][C-00000003]: chan_sip.c:25545 handle_request_invite: Call from '' (23.239.65.99:5070) to extension '99905200972597984291' rejected because extension not found in context 'default'

cf ma signature....