Bonjour,
Je rencontre un problème avec la messagerie instantanée entre deux clients Linphone configurés avec Asterisk (version 20.12.0).
Mon architecture :
- Deux utilisateurs PJSIP : 1000 (Hugo) et 1001 (Max)
- Chaque utilisateur utilise Linphone sur une machine virtuelle Windows 11
- La messagerie texte fonctionne mais les messages n’apparaissent pas dans la même conversation côté Linphone
Exemple du problème :
- Quand Max (1001) envoie un message à Hugo (1000), Hugo le reçoit dans une discussion avec le bon nom (“Max”).
- Mais lorsque Hugo (1000) répond, Max reçoit le message dans une nouvelle conversation au nom “1000” (au lieu de “Hugo”).
J’ai tenté d’utiliser la fonction MessageSend()
dans le dialplan avec :
MessageSend(pjsip:${EXTEN},${MESSAGE(from)})
mais cela provoque l’erreur :
WARNING: res_pjsip.c:3338 ast_sip_update_to_uri: To address '1000@192.168.23.13' is not a valid SIP/SIPS URI
J’aimerais que tous les messages soient regroupés dans une seule discussion Linphone, en affichant les noms définis dans callerid
et non les IDs bruts.
voisi mon pjsip.conf:
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0:5060
[1000]
type=endpoint
context=interne
disallow=all
allow=ulaw,alaw
auth=auth1000
aors=1000
message_context=messages
callenrid=“Hugo” sip:1000@192.168.23.12
[auth1000]
type=auth
auth_type=userpass
password=motdepasse1000
username=1000
[1000]
type=aor
max_contact=1
[1001]
type=endpoint
context=interne
disallow=all
allow=ulaw,alaw
auth=auth1001
aors=1001
message_context=messages
callenrid=“Max” sip:1000@192.168.23.12
[auth1001]
type=auth
auth_type=userpass
password=motdepasse1001
username=1001
[1001]
type=aor
max_contact=1
et mon extensions.conf c’est ça:
[general]
static=yes
writeprotect=no
[interne]
exten => 1000,1,Dial(PJSIP/1000)
same => n,Hangup()
exten => 1001,1,Dial(PJSIP/1001)
same => n,Hangup()
[messages]
exten => _X.,1,NoOp(Message reçu de ${MESSAGE(from)} vers ${EXTEN})
same => n,NoOp(Contenu : ${MESSAGE(body)})
; Extraire le numéro SIP de l’expéditeur
same => n,Set(FROMNUM=${CUT(CUT(MESSAGE(from),@,1),:,2)})
; Si c’est Hugo (1000), on envoie à Max
same => n,GotoIf($[“${FROMNUM}” = “1000”]?from_hugo:from_max)
same => n(from_hugo),MessageSend(pjsip:1001,“Hugo_Prem” sip:1000@192.168.23.1
same => n,Hangup()
same => n(from_max),MessageSend(pjsip:1000,“Max_Deuz” sip:1001@192.168.23.13)
same => n,Hangup()
Merci d’avance pour votre aide