Jami pour téléphonie SIP - un exemple avec voip.ms

À la demande d’un autre utilisateur, voici ma configuration de Jami sur Android avec le serveur de téléphonie SIP voip.ms :

Pour les notifications push, il faut installer une application Android. L’une de celles-ci est ntfy.

Voici des captures d’écran :

Jami - Paramètres de l’application




Jami - Paramètres du compte






Jami ( Android ) - dialogue de création de compte. Choisir “Ajouter un compte SIP”

Jami - Ajout d’un compte SIP

Android - Revue des applications actives, Jami et ntfy s’exécutent

Console voip.ms (application Android) - revue des paramètres du sous-compte SIP “Pierre_Jami”

*Jami - Utilisation, journal des appels au numéro 97 ( répondeur voip.ms )

*Jami - Captures d’écran lors d’un appel vers le numéro de messagerie, code étoile 97




2 Likes

Bonjour, merci pour ce tuto. J’ai créé un compte SIP et cela fonctionne pour les appels sur mon iPhone avec jami. Toutefois, j’ai remarqué que depuis que j’ai configuré voip.ms sur jami, mon téléphone fixe qui a le même numéro assigné via mon Grandstream HT1812 (2 FXS Portm 2 SIP Profiles ATA Router) ne sonne plus. Savez-vous comment faire pour que les appels entrants fassent sonner à la fois les deux téléphones ? En effet, le téléphone portable sert surtout quand je suis à l’extérieur, alors que l’autre fait office de ligne fixe.

Vous devez créer dans le portail voip.ms un groupe de sonnerie dans lequel vous regroupez les deux sous-comptes. Ensuite, dans la section DID, associez ce groupe de sonnerie comme destination des appels entrants.

1 Like

Merci pour votre réponse qui m’a permis de trouver la page avec l’information sur voip.ms
Au cas où cela serait utile à d’autres personnes, j’insère la procédure complète que j’ai utilisée pour que cela fonctionne:

1. Créer un sous-compte sur VOIP.ms. Cela ne coûte rien, cela consiste à créer un sous-compte virtuel du compte qui est utilisé par exemple comme ligne fixe sur un ATA tel que le Grandstream HT812. Voici comment faire: https://www.youtube.com/watch?v=cgaaWwnVHWg

ERREUR À ÉVITER: initialement, j’utilisais le même compte VOIP.ms sur mes différents appareils, ce qui se traduisait soit par: aucun appareil qui ne sonnait pour les appels entrants, soit 1 seul qui sonnait de manière aléatoire.

2. Pour chaque appareil qui utilise JAMI avec un compte SIP, il faut créer un nouveau sous-compte, sinon les différents appareils seront “en compétition” pour “prendre” l’appel entrant. Par exemple, j’ai un compte SIP avec JAMI sur mon cell. et un autre sur mon PC, donc je me crée 2 sous-comptes de mon compte de tél. sur VOIP.ms. (mon compte principal sert sur mon HT812).

3. Entrer les informations pour configurer des nouveaux comptes SIP dans JAMI (voir plus haut l’exemple de Pierre). Attention à utiliser un nom de sous-compte VOIP.ms différent pour chaque appareil.

4. Créer un groupe de sonnerie (Ring Groups) dans VOIP.ms comme indiqué ici: https://wiki.voip.ms/article/Groupe_de_Sonnerie
Le groupe de sonnerie doit inclure le compte principal et les sous-comptes.

Tester et se féliciter pour l’effort, car cela devrait fonctionner :slight_smile:

Je vais faire un tuto vidéo, ainsi cela aidera les personnes qui veulent utiliser cette fonctionnalité qui remplace skype-to-call dans mon cas. C’est très pratique quand on veut pouvoir appeler des numéros de téléphones depuis JAMI.

Merci aux développeurs de JAMI pour ces belles fonctionnalités qui sont offertes. Pensez à faire un don pour soutenir cette équipe de bénévoles: Why donate

J’ai remarqué que les numéros canadiens entrants et sortants fonctionnent depuis ma localisation au Québec. Par contre, je ne parviens pas à réaliser des appels internationaux (je précise que ceux-ci sont autorisés dans voip.ms). En passant par la ligne ATA (HT812), cela fonctionne. Lorsque j’utilise Jami, j’obtiens systématiquement le message “Missed outgoing call”. J’ai donc démarré Jami avec l’option “Jami.exe -d” et voici le journal qui est obtenu (j’ai retiré les informations privées):

[ice:0x1aa3f2bb9c0] Destroying ice_strans 0x1aa403cad28
[1744132637.324|2020] Successfully unregistered controller 0x1aa33f6c440
[1744132637.325|2020] Successfully unregistered controller 0x1aa4114e820
[1744132648.992|9036|manager.cpp             :1088] Attempt outgoing call to 'NUMÉRO_MASQUÉ' with account 'COMPTE_MASQUÉ'
[1744132648.992|9036|sipaccount.cpp          :221 ] [Account COMPTE_MASQUÉ] Calling SIP peerNUMÉRO_MASQUÉ
[1744132648.993|9036|sipcall.cpp             :149 ] [call:1173448213564620] Create a new [OUTGOING] SIP call with 1 media
[1744132648.993|9036|audio_rtp_session.cpp   :56  ] Created Audio RTP session: 0x1aa2c0367c0 - stream id 1173448213564620_audio_0
[1744132648.993|9036|ringbuffer.cpp          :47  ] Create new RingBuffer 1173448213564620_audio_0
[1744132648.994|9036|sipcall.cpp             :2019] [call:1173448213564620] Added media @0: type [AUDIO] enabled [YES] muted [NO] label [audio_0] source [camera://video=@device_pnp_\\?\usb#vid_046d&pid_082d&mi_00#6&b2a457&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global] secure [YES]
[1744132648.994|9036|sipcall.cpp             :2022] [call:1173448213564620] Created 1 media stream(s)
[1744132648.995|9036|sipcall.cpp             :465 ] [call:1173448213564620] Setting transport to [000001AA28CEBB10]
[1744132648.995|9036|sipcall.cpp             :482 ] [call:1173448213564620] Crypto (SRTP) is negotiated over an unencrypted signaling channel
[1744132648.995|9036|sipaccount.cpp          :262 ] UserAgent: New registered account call to NUMÉRO_MASQUÉ
[1744132648.996|9036] [ice:0x1aa3f2bb9c0] Creating IceTransport session for "1173448213564620"
[1744132648.996|9036|sipcall.cpp             :3418] [call:1173448213564620] Successfully created media ICE transport [ice:000001AA4089D0E0]
[1744132648.996|9036|sipcall.cpp             :3586] [call:1173448213564620] Setting ICE session [000001AA4089D0E0]
[1744132648.997|9036|sipcall.cpp             :3438] [call:1173448213564620] Init media ICE transport
[1744132648.997|9036] [ice:0x1aa3f2bb9c0] Initializing the session - comp count 2 - as a master
[1744132648.998|9036] [ice:0x1aa3f2bb9c0] Missing local address, generic srflx candidates unable to be generated!
[1744132648.998|9036] [ice:0x1aa3f2bb9c0] No server reflexive candidates added
[1744132649.170|9036] [ice:0x1aa3f2bb9c0] UDP initialization success
[1744132649.180|9036] [ice:0x1aa3f2bb9c0] as master
[1744132649.180|9036] [ice:0x1aa3f2bb9c0] (local) ufrag=09963340, pwd=68874f0f70ca1252457d20e9
[1744132649.210|9036|sdp.cpp                 :544 ] Creating SDP offer with 1 media
[1744132649.210|9036|sdp.cpp                 :251 ] Add media description [type [AUDIO] enabled [YES] muted [NO] label [audio_0] source [] secure [YES]]
[1744132649.220|9036|sdp.cpp                 :492 ] [SDP OFFER] Local session (initial):
v=0
o=z4g4 3953107049 0 IN IP4 192.168.0.231
s=Call ID 1173448213564620
c=IN IP4 192.168.0.231
t=0 0
m=audio 19620 RTP/SAVP 104 9 8 0 101
a=rtpmap:104 opus/48000/2
a=rtpmap:9 G722/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtcp:19621 IN IP4 192.168.0.231
a=sendrecv

[1744132649.220|9036|manager.cpp             :602 ] [1744132649.220|10884|sipcall.cpp             :1886] ----- Switch current call ID to '1173448213564620' -----
[call:1173448213564620] Add local attributes for ICE instance [000001AA4089D0E0]
[1744132649.230|10884|sipcall.cpp             :1927] [call:1173448213564620] Add ICE local candidates for media [type [AUDIO] enabled [YES] muted [NO] label [audio_0]] @ 0
[1744132649.230|10884|sipaccount.cpp          :415 ] Contact header: "Masqué_voip" <sip:INFO_MASQUÉE:5055> / "Masqué_voip" <sip:info_masquée@montreal10.voip.ms> ? <sip:NUMÉRO_MASQUÉ@montreal10.voip.ms>
[1744132649.240|10884|sipaccountbase.cpp      :82  ] Creating SIP dialog:
From: "Masqué_voip" <sip:info_masquée@montreal10.voip.ms>
Contact: "Masqué_voip" <sip:INFO_MASQUÉE:5055>
To: <sip:NUMÉRO_MASQUÉ@montreal10.voip.ms>

[1744132649.240|10884|sipaccountbase.cpp      :87  ] No target provided, using 'to' as target
[1744132649.250|10884|sipcall.cpp             :753 ] [call:1173448213564620] Set new invite session [000001AA40A35268]
[1744132649.250|10884|sipvoiplink.cpp         :890 ] [call:1173448213564620] INVITE@0x1aa40a35268 state changed to 1 (CALLING): cause=0, tsx@0x1aa2c03d938 status 0 (Default status message)
[1744132649.260|10884|call.cpp                :246 ] [call:1173448213564620] state change 0/1, cnx 0/2, code 0
[1744132649.260|10884|call.cpp                :277 ] [call:1173448213564620] emit client call state change CONNECTING, code 0
[1744132649.102|3528|sipvoiplink.cpp         :890 ] [call:1173448213564620] INVITE@0x1aa40a35268 state changed to 6 (DISCONNECTED): cause=486, tsx@0x1aa2c03c918 status 486 (Busy Here)
[1744132649.102|3528|call.cpp                :246 ] [call:1173448213564620] state change 1/4, cnx 2/0, code 0
[1744132649.102|3528|call.cpp                :277 ] [call:1173448213564620] emit client call state change PEER_BUSY, code 0
[1744132649.103|10884|manager.cpp             :2054] [call:1173448213564620] Busy
[1744132649.103|10884|sipcall.cpp             :1598] [call:1173448213564620] removeCall()
[1744132649.104|10884|call_factory.cpp        :69  ] Removing call 1173448213564620
[1744132649.104|10884|call_factory.cpp        :72  ] Remaining 0 call
[1744132649.105|10884|call.cpp                :246 ] [call:1173448213564620] state change 4/6, cnx 0/0, code 0
[1744132649.105|10884|call.cpp                :277 ] [call:1173448213564620] emit client call state change OVER, code 0
[1744132649.105|10884|sipcall.cpp             :739 ] [call:1173448213564620] Delete current invite session
[1744132649.106|10884|sipcall.cpp             :465 ] [call:1173448213564620] Setting transport to [0000000000000000]
[1744132649.106|10884|audio_rtp_session.cpp   :252 ] [0x1aa2c0367c0] Stopping receiver
[1744132649.107|10884|audio_rtp_session.cpp   :66  ] Destroyed Audio RTP session: 0x1aa2c0367c0 - stream id 1173448213564620_audio_0
[1744132649.107|10884|ringbuffer.cpp          :52  ] Destroy RingBuffer 1173448213564620_audio_0
[1744132649.519|13948] [ice:0x1aa3f2bb9c0] Destroying ice_strans 0x1aa4085c8a8
[1744132651.692|24932|account_manager.cpp     :796 ] [Account b7470265bf27029b] Found 1 device(s) for c4af4250939d4a9b97062b97b6734e7cd1ab7b01
[1744132651.864|1704] [device 0f1cc6e1e71e6bc0df9fcc9e33a02f5a34bb50f920002c5e16be665fcce2e18c] No response from DHT to ICE request.
[1744132651.864|7828|conversation_module.cpp :1362] Clone failed. Re-clone in 20s
[1744132652.378|14532] [ice:0x1aa41492f40] Destroying ice_strans 0x1aa40c32e58
[1744132652.890|2020] Successfully unregistered controller 0x1aa40e84a40

Est-ce un problème similaire à celui-ci (https://forum.jami.net/t/i-get-missed-incoming-call-when-dialling-out-on-sip/1779https://forum.jami.net/t/i-get-missed-incoming-call-when-dialling-out-on-sip/1779) ou est-ce autre chose que je dois régler ? J’ai tenté les appels avec les préfixes +11XX (XX étant le code du pays), +XX, mais sans succès pour le moment.

1 Like

Il faut autoriser les appels internationaux au compte et pour chacun des sous-comptes, en indiquant les régions du monde qui sont autorisées.

Eh fait il y a un bogue très dérangeant avec Jami. C’est assez grave pour que je cesse d’utiliser Jami pour mes appels. Le problème est que si un appel entrant (DID) est pris ailleurs ou que l’appelant raccroche avant que le compte Jami prenne l’appel, Jami continue de sonner !!!

Avis aux développeurs : ce bogue est rhédibitoire ( constitue un défaut, un empêchement absolu, radical. )

voir : Anomalie (bug) sur notification d'un appel entrant ( DID)

Can you please add your instructions to the Jami documentation?

What should the heading be?

  1. Creating and using a landline account
  2. Skype-to-call alternative

Should it be located in the user manual?

Thank you

1 Like

Rather than “Creating and using a landline account”, something like “Setting up Jami for internet telephone service, Voice over IP (VoIP)” ?

The User Manual page source mentions

TODO: Configure your SIP account

That is also good.

I leave it to others to add instructions to the Jami documentation.

Aviez-vous autorisé les appels internationaux dans chacun des sous-comptes ? Les memes options de routage des appels internationaux ? Les memes listes de pays autorisés ?

Pour en avoir le coeur net, essayez de vous identifier sur Jami avec les identifiants du compte ATA qui fonctionne, tout en laissant l’ATA eteint durant le temps du test.