jami-daemon issueshttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues2024-01-25T19:27:07Zhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/947Blind transfer doesn't work2024-01-25T19:27:07ZSébastien BlinBlind transfer doesn't work# Scenario
+ Create SIP account
+ Do a blind transfer (transfer to another contact without an active call)
# Expected
The transfer is successful
# Current result
No transfer happen (however attended transfer works fine)# Scenario
+ Create SIP account
+ Do a blind transfer (transfer to another contact without an active call)
# Expected
The transfer is successful
# Current result
No transfer happen (however attended transfer works fine)Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/846SIP call on android: plain RTP session impossible (intentionally unencrypted ...2023-04-14T12:23:34ZTobias HuberSIP call on android: plain RTP session impossible (intentionally unencrypted LAN-PBX)Hi, since Android 13 doesn't offer native SIP support anymore, I thought this great Jami thing could step in...
Unfortunately, it was quiet inconvenient to get at least some idea why this doesn't work with my LAN/VPN PBX
_(Inconvenience...Hi, since Android 13 doesn't offer native SIP support anymore, I thought this great Jami thing could step in...
Unfortunately, it was quiet inconvenient to get at least some idea why this doesn't work with my LAN/VPN PBX
_(Inconvenience: LAN/VPN PBX is asterisk 1.6, which doesn't use identical string for account identification and user authentication; the user corresponding to the password for authentication is different to the name of the SIP account.
It's possible to set Jami up that way, but it's quiet hidden - besides some more not so minor UI nits on android, but that will be a different issue report.)_
I checked that all Security->Security switches are off (SRTP and TLS transport).
1.) Initiating (outgoing) call fails because:
`"Rejecting secure audio stream without encryption details: audio 19686 RTP/SAVP 104 9 2 112 111 110 8 0 101"`
> <--- SIP read from UDP:172.21.97.226:5060 ---> [115/1865]
> INVITE sip:11@pbx.example.net SIP/2.0
> Via: SIP/2.0/UDP 172.21.97.226:5060;rport;branch=z9hG4bKPjaf1c522c-6e92-4539-b899-15c2bad55ad1
> Max-Forwards: 70
> From: <sip:tobimob_line1@pbx.example.net>;tag=b2110c22-6e14-4381-8a99-cc1e40d3872f
> To: <sip:11@pbx.example.net>
> Contact: <sip:tobimob_line1@172.21.97.226:5060>
> Call-ID: 4b970369-1b13-44da-b798-3a74f51d8c39
> CSeq: 629 INVITE
> Subject: Phone call
> Allow: SUBSCRIBE, NOTIFY, REFER, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, OPTIONS, MESSAGE, PUBLISH
> Supported: replaces
> User-Agent: Jami Daemon 13.7.0 (android)
> Authorization: Digest username="tobi.huber", realm="pbx.example.net", nonce="3b54e054", uri="sip:11@pbx.example.net", response="4070f25aadda2536ee24058551dfb64
> 1", algorithm=MD5
> Content-Type: application/sdp
> Content-Length: 1047
>
> v=0
> o=localhost 3890394360 0 IN IP4 172.21.97.226
> s=Call ID 8706183892147327
> c=IN IP4 172.21.97.226
> t=0 0
> a=ice-ufrag:42a09c4e
> a=ice-pwd:04afb39763f13c7f32a67b91
> m=aud--- (15 headers 27 lines) ---
> Sending to 172.21.97.226:5060 (no NAT)
> Using INVITE request as basis request - 4b970369-1b13-44da-b798-3a74f51d8c39
> Found peer 'tobimob_line1' for 'tobimob_line1' from 172.21.97.226:5060
> Found RTP audio format 104
> Found RTP audio format 9
> Found RTP audio format 2
> Found RTP audio format 112
> Found RTP audio format 111
> Found RTP audio format 110
> Found RTP audio format 8
> Found RTP audio format 0
> Found RTP audio format 101
> Found unknown media description format opus for ID 104
> Found audio description format G722 for ID 9
> Found audio description format G726-32 for ID 2
> Found audio description format speex for ID 112
> Found audio description format speex for ID 111
> Found audio description format speex for ID 110
> Found audio description format PCMA for ID 8
> Found audio description format PCMU for ID 0
> Found audio description format telephone-event for ID 101
[Apr 13 19:05:59] ERROR[101987][C-000005d5]: chan_sip.c:33575 int setup_srtp(struct sip_srtp **): No SRTP module loaded, can't setup SRTP session.
[Apr 13 19:05:59] WARNING[101987][C-000005d5]: chan_sip.c:10417 int process_sdp(struct sip_pvt *, struct sip_request *, int): Rejecting secure audio stream witho
ut encryption details: audio 19686 RTP/SAVP 104 9 2 112 111 110 8 0 101
Why does it send RTP/SAVP although I disabled SRTP?
2.) Incoming call signalling works, but not possible to establish RTP session:
```
"Ignoring audio media offer because port number is zero" and
"Failing due to no acceptable offer found"
```
Ringing:
> <--- SIP read from UDP:172.21.97.226:5060 --->
> SIP/2.0 180 Ringing
> Via: SIP/2.0/UDP 172.21.98.12:5060;received=172.21.98.12;branch=z9hG4bK0d2bf1b6
> Call-ID: 1e4bf56a62264ba6792450e4506bed52@pbx.example.net
> From: "T. Huber (22)" <sip:thbuero@pbx.example.net>;tag=as48fb14ca
> To: <sip:tobimob_line1@172.21.97.226>;tag=6c456d21-e6ae-4c85-bf04-da0aaf56e758
> CSeq: 102 INVITE
> User-Agent: Jami Daemon 13.7.0 (android)
> Allow: SUBSCRIBE, NOTIFY, REFER, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, OPTIONS, MESSAGE, PUBLISH
> Contact: <sip:tobimob_line1@172.21.97.226:5060>
... (snipped)
Accepting call on Jami:
> <--- SIP read from UDP:172.21.97.226:5060 --->
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP 172.21.98.12:5060;received=172.21.98.12;branch=z9hG4bK0d2bf1b6
> Call-ID: 1e4bf56a62264ba6792450e4506bed52@pbx.example.net
> From: "T. Huber (22)" <sip:thbuero@pbx.example.net>;tag=as48fb14ca
> To: <sip:tobimob_line1@172.21.97.226>;tag=6c456d21-e6ae-4c85-bf04-da0aaf56e758
> CSeq: 102 INVITE
> User-Agent: Jami Daemon 13.7.0 (android)
> Allow: SUBSCRIBE, NOTIFY, REFER, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, OPTIONS, MESSAGE, PUBLISH
> Supported: replaces
> Contact: <sip:tobimob_line1@172.21.97.226:5060>
> Content-Type: application/sdp
> Content-Length: 142
>
> v=0
> o=localhost 3890395686 1 IN IP4 172.21.97.226
> s=Call ID 5890041505306313
> c=IN IP4 172.21.97.226
> t=0 0
> m=audio 0 RTP/AVP 9 8 0 3 101
> <------------->
chan_sip.c:10008 int process_sdp(struct sip_pvt *, struct sip_request *, int): Ignoring audio media offer [5/1992]
port number is zero
chan_sip.c:10438 int process_sdp(struct sip_pvt *, struct sip_request *, int): Failing due to no acceptabl[3/1992]
found
**Here's a working internal call, where sipdroid is the user agent on the same phone:**
> <--- SIP read from UDP:172.21.97.226:40739 --->
> SIP/2.0 180 Ringing
> Via: SIP/2.0/UDP 172.21.98.12:5060;branch=z9hG4bK04f5274c
> To: <sip:tobimob_line1@10.26.229.169:40739;transport=udp>;tag=fb8b4ff3c7a73ee8
> From: "T. Huber (22)" <sip:thbuero@pbx.example.net>;tag=as686012bd
> Call-ID: 3547fb4e68213eb90d8295ae221e36ea@pbx.example.net
> CSeq: 102 INVITE
> Server: Sipdroid/6.3 beta/Pixel 7
> Content-Length: 198
> Content-Type: application/sdp
... (snipped)
Accepting call on SIPdroid:
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP 172.21.98.12:5060;branch=z9hG4bK04f5274c
> To: <sip:tobimob_line1@10.26.229.169:40739;transport=udp>;tag=fb8b4ff3c7a73ee8
> From: "T. Huber (22)" <sip:thbuero@pbx.example.net>;tag=as686012bd
> Call-ID: 3547fb4e68213eb90d8295ae221e36ea@pbx.example.net
> CSeq: 102 INVITE
> Contact: <sip:tobimob_line1@10.26.229.169:40739;transport=udp>
> Server: Sipdroid/6.3 beta/Pixel 7
> Content-Length: 198
> Content-Type: application/sdp
>
> v=0
> o=tobimob_line1@pbx.example.net 0 0 IN IP4 10.26.229.169
> s=Session SIP/SDP
> c=IN IP4 10.26.229.169
> t=0 0
> m=audio 21000 RTP/AVP 9 101
> a=rtpmap:9 G722/8000
> a=rtpmap:101 telephone-event/8000
> <------------->
**Significant difference here is "m=audio ...." lines.**
With SIPdroid (the working incomming call), it reads
> m=audio 21000 RTP/AVP 9 101
while with jami (not working)
> m=audio 0 RTP/AVP 9 8 0 3 101
I'd very much appreciate if somebody could take care and bring back originating strenghts of Jami in that it's usable as a working SIP UA - for plain RTP too!
Especially due to dropped native SIP support in recent android versions!
The android settings UI is broken too, like already mentioned, but ther's the workaround to use it in landscape mode, which makes it possible to sroll the account-enabler switch out of overlapping tab selection area... Will tell in a different issue report.
Thanks in advance,
-Tobihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/826problem connecting tio SIP account on startup2023-11-12T14:17:59Ztomo90problem connecting tio SIP account on startupI have configured a simple SIP account. The application does not automatically log in to the account when it starts. However, all I need to do to connect is go into the settings and click in the name settings field, for example, and then...I have configured a simple SIP account. The application does not automatically log in to the account when it starts. However, all I need to do to connect is go into the settings and click in the name settings field, for example, and then exit the settings and the application will connect to the account immediately. It doesn't make any sense to me.
Generally speaking, it will connect to the account after editing any unrelated settings.
Furthermore, the application does not seem to save some of the settings i make. After quitting, the switches and settings are at their original values. This is not a problem with, for example, write permissions to the configuration file, because some of the settings made are preserved and some are not when the application is restarted.
You can see for yourself that on the attached video.
![vid](/uploads/e0e18d538065a0cffa977629dbfcf594/vid.mp4)Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/790SIP ip 2 ip issues2022-12-08T19:39:33ZSébastien BlinSIP ip 2 ip issues+ One account on 5060, one on 5061 => 5061 receives all calls even if :5060 is specified in the URI
+ ~~text messages doesn't work~~
+ IPv6 addresses not supported
+ Calling back doesn't work+ One account on 5060, one on 5061 => 5061 receives all calls even if :5060 is specified in the URI
+ ~~text messages doesn't work~~
+ IPv6 addresses not supported
+ Calling back doesn't workhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/720Support DTMF2023-06-16T18:56:18ZSébastien BlinSupport DTMFTo be definedTo be definedBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/662Support DTMF2021-12-29T17:07:16ZSébastien BlinSupport DTMFTo be definedTo be definedBackloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/654"SEGV on unknown address" For SIP2021-10-27T21:56:02Zvindicatorr"SEGV on unknown address" For SIPI built and installed master of everything a moment ago.
I ran jami-qt and enabled my SIP account I had previously set up (not sure I ever actually connected before from previous tests).
This caused the crash.
After everything sett...I built and installed master of everything a moment ago.
I ran jami-qt and enabled my SIP account I had previously set up (not sure I ever actually connected before from previous tests).
This caused the crash.
After everything settled, I manually ran:
```
$ /usr/local/libexec/jamid -cd
Jami Daemon 10.1.0-68f1732948, by Savoir-faire Linux 2004-2019
https://jami.net/
[Video support enabled]
[Plugins support enabled]
[1634724962.374|16769|ringbuffer.cpp :55 ] Create new RingBuffer audiolayer_id
[1634724962.375|16769|manager.cpp :727 ] Not initialized
[1634724962.375|16769|manager.cpp :727 ] Not initialized
05:16:02.392 os_core_unix.c !pjlib 2.11 for POSIX initialized
[1634724962.392|16769|manager.cpp :798 ] Using PJSIP version 2.11 for x86_64-pc-linux-gnu
[1634724962.392|16769|manager.cpp :799 ] Using GnuTLS version 3.7.2
[1634724962.392|16769|manager.cpp :800 ] Using OpenDHT version 2.3.0
[1634724962.392|16769|manager.cpp :801 ] Using FFmpeg version n4.4
[1634724962.392|16769|manager.cpp :804 ] Using Libgit2 version 1.2.0
[1634724962.393|16769|sipvoiplink.cpp :659 ] Using SIP nameserver: 1.1.1.1
[1634724962.393|16769|sipvoiplink.cpp :659 ] Using SIP nameserver: 9.9.9.9
[1634724962.393|16769|sipvoiplink.cpp :659 ] Using SIP nameserver: 8.8.8.8
[1634724962.394|16769|sipvoiplink.cpp :753 ] SIPVoIPLink@<sanitized>
[1634724962.394|16769|manager.cpp :820 ] Configuration file path: /home/username/.config/jami/dring.yml
[1634724962.397|16769|accel.cpp :206 ] -- Starting encoding init for cuda with default device.
[AVHWDeviceContext @ 0x609000000700] Cannot load libcuda.so.1
[AVHWDeviceContext @ 0x609000000700] Could not dynamically load CUDA
[1634724962.397|16769|accel.cpp :171 ] Failed to create cuda device: -1313558101.
[1634724962.397|16769|accel.cpp :221 ] -- Init failed for cuda with default device.
[1634724962.398|16769|accel.cpp :228 ] -- Init encoding for cuda with device 1.
[AVHWDeviceContext @ 0x609000000a40] Cannot load libcuda.so.1
[AVHWDeviceContext @ 0x609000000a40] Could not dynamically load CUDA
[1634724962.398|16769|accel.cpp :171 ] Failed to create cuda device: -1313558101.
[1634724962.398|16769|accel.cpp :240 ] -- Init failed for cuda with device 1.
[1634724962.398|16769|accel.cpp :228 ] -- Init encoding for cuda with device 2.
[AVHWDeviceContext @ 0x609000000dc0] Cannot load libcuda.so.1
[AVHWDeviceContext @ 0x609000000dc0] Could not dynamically load CUDA
[1634724962.398|16769|accel.cpp :171 ] Failed to create cuda device: -1313558101.
[1634724962.398|16769|accel.cpp :240 ] -- Init failed for cuda with device 2.
[1634724962.403|16769|accel.cpp :206 ] -- Starting encoding init for vaapi with default device.
[1634724962.406|16769|accel.cpp :182 ] Device type vaapi successfully created.
[1634724962.406|16769|accel.cpp :215 ] -- Init passed for vaapi with default device.
[hevc_vaapi @ 0x61900002cb80] No usable encoding profile found.
[1634724962.407|16769|media_encoder.cpp :1178 ] Fail to open hardware encoder H265 with vaapi
[1634724962.407|16769|system_codec_container.cpp:197 ] Can't find a usable accelerated H265/HEVC codec, disabling.
[1634724962.407|16769|system_codec_container.cpp:232 ] Encoders found: H264 VP8 MP4V-ES H263-1998 opus G722 speex speex speex PCMA PCMU
[1634724962.408|16769|system_codec_container.cpp:233 ] Decoders found: H264 VP8 MP4V-ES H263-1998 opus G722 speex speex speex PCMA PCMU
[1634724962.408|16769|sipaccount.cpp :2407 ] All audio codecs disabled, enabling all
[1634724962.408|16769|sipaccount.cpp :2411 ] All video codecs disabled, enabling all
[1634724962.408|16769|upnp_context.cpp :39 ] Creating UPnPContext instance [<sanitized>]
[1634724962.408|16769|upnp_control.cpp :39 ] Controller@<sanitized>: Created UPnP Controller session
[1634724962.408|16770|upnp_context.cpp :409 ] Successfully registered controller <sanitized>
[1634724962.408|16770|upnp_context.cpp :131 ] Starting UPNP context
[1634724962.408|16769|sipaccount.cpp :1818 ] Set SIP registration EXPIRE to 60 - current 3600
[1634724962.408|16769|sipaccount.cpp :1870 ] Presence enabled for <sanitized> : false.
[1634724962.410|16774|jamiaccount.cpp :327 ] [Account <sanitized>] Can't load proxy URL from cache: Can't check write time for: /home/username/.cache/jami/<sanitized>/dhtproxy
[1634724962.414|16774|jamiaccount.cpp :1101 ] [Account <sanitized>] loading account
[1634724962.414|16774|namedirectory.cpp :475 ] Could not load /home/username/.cache/jami/namecache/ns.jami.net
[1634724962.414|16774|account_manager.cpp:57 ] Loading certificate from 'ring_device.crt' and key from 'ring_device.key' at /home/username/.local/share/jami/<sanitized>
[1634724962.434|16774|certstore.cpp :89 ] CertificateStore: loaded 36 local certificates.
[1634724962.436|16774|account_manager.cpp:143 ] [Auth] checking device receipt for <sanitized>
[1634724962.440|16774|contact_list.cpp :503 ] [Contacts] Found account device: computername <sanitized>
[1634724962.442|16774|contact_list.cpp :503 ] [Contacts] Found account device: <sanitized>
[1634724962.443|16774|account_manager.cpp:193 ] [Auth] Device <sanitized> receipt checked successfully for account <sanitized>
[1634724962.443|16774|jamiaccount.cpp :1207 ] [Account <sanitized>] loaded account identity
[1634724962.443|16774|conversation_module.cpp:678 ] [Account <sanitized>] Start loading conversations…
[1634724962.443|16774|conversation_module.cpp:1579 ] [convInfo] error loading convInfo: Can't read file: convInfo
[1634724962.443|16774|conversation_module.cpp:715 ] [Account <sanitized>] Conversations loaded!
[1634724962.443|16774|conversation_module.cpp:678 ] [Account <sanitized>] Start loading conversations…
[1634724962.443|16774|conversation_module.cpp:1579 ] [convInfo] error loading convInfo: Can't read file: convInfo
[1634724962.443|16774|conversation_module.cpp:715 ] [Account <sanitized>] Conversations loaded!
[1634724962.444|16769|ringbuffer.cpp :55 ] Create new RingBuffer urgentRingBuffer_id
[1634724962.447|16769|pulselayer.cpp :141 ] Waiting....
[1634724962.447|16779|pulselayer.cpp :141 ] Waiting....
[1634724962.447|16779|pulselayer.cpp :141 ] Waiting....
[1634724962.449|16779|pulselayer.cpp :145 ] Connection to PulseAudio server established
[1634724962.449|16779|pulselayer.cpp :175 ] Updating PulseAudio sink list
[1634724962.449|16779|pulselayer.cpp :192 ] Updating PulseAudio source list
[1634724962.449|16779|pulselayer.cpp :209 ] Updating PulseAudio server infos
[1634724962.451|16779|pulselayer.cpp :664 ] PulseAudio server info:
Server name: PulseAudio (on PipeWire 0.3.38)
Server version: 15.0.0
Default Sink bluez_output.00_02_76_64_A2_CF.a2dp-sink
Default Source alsa_input.pci-0000_00_1b.0.analog-stereo
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
[1634724962.451|16779|audiolayer.cpp :64 ] Hardware audio format available : {s16, 2 channels, 48000Hz} 0
[1634724962.451|16779|manager.cpp :2870 ] Audio format changed: {s16, 1 channels, 16000Hz} -> {s16, 2 channels, 48000Hz}
[1634724962.496|16769|sipaccount.cpp :903 ] doRegister <sipserver>
[1634724962.496|16769|sipaccount.cpp :907 ] UPnP: waiting for IGD to register SIP account
[1634724962.496|16769|upnp_context.cpp :309 ] Try to find mapping for port 5060 [UDP]
[1634724962.496|16769|upnp_context.cpp :341 ] Did not find any available mapping. Will request one now
[1634724962.496|16769|upnp_context.cpp :1137 ] No IGD available. Mapping will be requested when an IGD becomes available
[1634724962.496|16769|mapping.cpp :86 ] Changing mapping JAMI-UDP:5060 state from AVAILABLE to UNAVAILABLE
[1634724962.496|16769|sipaccount.cpp :835 ] [Account <sanitized>] Failed to open port 5060: registering SIP account anyway
[1634724962.496|16769|sipvoiplink.cpp :1491 ] try to resolve '<sipserver>' (port: 0)
[1634724962.496|16769|sipaccount.cpp :910 ] UPnP: UPNP request failed, try to register SIP account anyway
[1634724962.496|16769|sipvoiplink.cpp :1491 ] try to resolve '<sipserver>' (port: 0)
[1634724962.497|16769|jamiaccount.cpp :1763 ] [Account <sanitized>] Starting account..
[1634724962.497|16769|jamiaccount.cpp :2599 ] [Account <sanitized>] connecting…
[1634724962.497|16770|upnp_context.cpp :622 ] UPNP/NAT-PMP enabled, but no valid IGDs available
[1634724962.497|16775|jamiaccount.cpp :2779 ] Loading DhParams from file '/home/username/.cache/jami/<sanitized>/dhParams'
[1634724962.497|16770|jamiaccount.cpp :1953 ] [Account <sanitized>] Starting account...
[1634724962.500|16770|jamiaccount.cpp :1794 ] [Account <sanitized>] Bootstrap node: bootstrap.jami.net
[1634724962.502|16782|jamiaccount.cpp :2075 ] [Account <sanitized>] Dht status: IPv4 connecting; IPv6 disconnected
[1634724962.616|16782|jamiaccount.cpp :2075 ] [Account <sanitized>] Dht status: IPv4 connected; IPv6 disconnected
[1634724962.616|16782|jamiaccount.cpp :2595 ] [Account <sanitized>] connected
[1634724962.617|16782|jamiaccount.cpp :3554 ] [Account <sanitized>] Store DHT public IPv4 address : <sanitized>
[1634724962.669|16773|sipaccount.cpp :1005 ] Creating transport
[1634724962.670|16773|siptransport.cpp :329 ] Created UDP transport on address 0.0.0.0:5060
[1634724962.670|16773|siptransport.cpp :80 ] SipTransport@<sanitized> {tr=<sanitized> {rc=2}}
[1634724962.670|16773|sipaccount.cpp :1099 ] Using contact header "SIP Provider" <sip:<sanitized>@<deviceip>:5060> in registration
[1634724962.697|16782|jamiaccount.cpp :2075 ] [Account <sanitized>] Dht status: IPv4 connected; IPv6 connecting
[1634724962.733|16773|sipaccount.cpp :1599 ] Using published address <sanitized> and port 5060
AddressSanitizer:DEADLYSIGNAL
=================================================================
==278913==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000048 (pc 0x7f7fb357255b bp 0x7f7f9a9f7ae0 sp 0x7f7f9a9f7590 T4)
==278913==The signal is caused by a READ memory access.
==278913==Hint: address points to the zero page.
#0 0x7f7fb357255b in jami::SIPAccount::checkNATAddress(pjsip_regc_cbparam*, pj_pool_t*) (/usr/local/lib/libring.so.0+0x9f355b)
#1 0x7f7fb357b670 in jami::SIPAccount::onRegister(pjsip_regc_cbparam*) (/usr/local/lib/libring.so.0+0x9fc670)
#2 0x7f7fb3d6bd38 in regc_tsx_callback (/usr/local/lib/libring.so.0+0x11ecd38)
#3 0x7f7fb3d97256 in tsx_set_state (/usr/local/lib/libring.so.0+0x1218256)
#4 0x7f7fb3d985f7 in tsx_on_state_proceeding_uac (/usr/local/lib/libring.so.0+0x12195f7)
#5 0x7f7fb3d98825 in tsx_on_state_calling (/usr/local/lib/libring.so.0+0x1219825)
#6 0x7f7fb3d9ac9d in pjsip_tsx_recv_msg (/usr/local/lib/libring.so.0+0x121bc9d)
#7 0x7f7fb3d9ada4 in mod_tsx_layer_on_rx_response (/usr/local/lib/libring.so.0+0x121bda4)
#8 0x7f7fb3d845c6 in pjsip_endpt_process_rx_data (/usr/local/lib/libring.so.0+0x12055c6)
#9 0x7f7fb3d84785 in endpt_on_rx_msg (/usr/local/lib/libring.so.0+0x1205785)
#10 0x7f7fb3d8b7e8 in pjsip_tpmgr_receive_packet (/usr/local/lib/libring.so.0+0x120c7e8)
#11 0x7f7fb3d8e1ed in udp_on_read_complete (/usr/local/lib/libring.so.0+0x120f1ed)
#12 0x7f7fb3dd19d6 in ioqueue_dispatch_read_event (/usr/local/lib/libring.so.0+0x12529d6)
#13 0x7f7fb3dd343a in pj_ioqueue_poll (/usr/local/lib/libring.so.0+0x125443a)
#14 0x7f7fb3d842af in pjsip_endpt_handle_events2 (/usr/local/lib/libring.so.0+0x12052af)
#15 0x7f7fb35f5cf7 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<jami::SIPVoIPLink::SIPVoIPLink()::{lambda()#1}> > >::_M_run() (/usr/local/lib/libring.so.0+0xa76cf7)
#16 0x7f7faf5f13c3 in execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82
#17 0x7f7fb260e258 in start_thread (/usr/lib/libpthread.so.0+0x9258)
#18 0x7f7faf2f15e2 in __GI___clone (/usr/lib/libc.so.6+0xfe5e2)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/usr/local/lib/libring.so.0+0x9f355b) in jami::SIPAccount::checkNATAddress(pjsip_regc_cbparam*, pj_pool_t*)
Thread T4 created by T0 here:
#0 0x7f7fb4218fa7 in __interceptor_pthread_create /build/gcc/src/gcc/libsanitizer/asan/asan_interceptors.cpp:216
#1 0x7f7faf5f16aa in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663
#2 0x7f7fb2f244a2 in jami::Manager::init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (/usr/local/lib/libring.so.0+0x3a54a2)
==278913==ABORTING
```Mohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/572Outgoing SIP calls drop after 32s2021-11-26T15:15:26ZDavid LecompteOutgoing SIP calls drop after 32sI am using an OVH SIP account. Outgoing calls to a landline or to another OVH SIP account drop after 32s, this is 100% reproducible.
I am using Trisquel 9 on a desktop PC and added Jami repository, the version of jami is 2021-03-08 21:4...I am using an OVH SIP account. Outgoing calls to a landline or to another OVH SIP account drop after 32s, this is 100% reproducible.
I am using Trisquel 9 on a desktop PC and added Jami repository, the version of jami is 2021-03-08 21:43:25 UTC . The network connection is via ethernet, my ISP is SFR in Paris France, fiber connection.
The attached log was obtained with
/usr/lib/ring/dring -d -c 2>&1 | tee dring5.log
The image is a screen capture taken immediately after the call drop (less than 1s after) in order to show what was visible in the log. The big seqence of consecutive "underrun occured" was during the call but it paused more than 10s before the call drop.
[dring5.log](/uploads/648d1b648fb16fc641573235420d2b37/dring5.log)
![right_after_drop](/uploads/6f53ee76e0969c94a429aac2589da7e8/right_after_drop.png)Mohamed ChibaniMohamed Chibanihttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/406SIP: cannot call zoom room anymore2021-02-02T21:25:43ZSébastien BlinSIP: cannot call zoom room anymoreRegression from https://review.jami.net/c/ring-daemon/+/16369
# Scenario
+ Call contact with @ip inside
# Current result
+ Call fails immediately
# Expected
Call must workRegression from https://review.jami.net/c/ring-daemon/+/16369
# Scenario
+ Call contact with @ip inside
# Current result
+ Call fails immediately
# Expected
Call must workhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/213No SIP registration2020-11-20T00:22:23Zedonkey2001-jamiNo SIP registrationI'm running Fedora 31 x86_64, and I've installed Jami from the jami.net rpm repo, version 20200414.
I'm trying to use my SIP account with Jami. It is from an ISP also providing VoIP calls.
Since I don't know whether this is specific to ...I'm running Fedora 31 x86_64, and I've installed Jami from the jami.net rpm repo, version 20200414.
I'm trying to use my SIP account with Jami. It is from an ISP also providing VoIP calls.
Since I don't know whether this is specific to my provider, or a more general issue, I'm providing specific details about this setup.
My ISP setup is: UDP transport, no TLS nor SRTP, they provide an username/password and one should connect via their proxy. I'm not sure one can even connect to it from outside their network.
They have two proxies actually (IPv4 only):
srvrm.p.ims.tiscali.net (SRV record)
core1.p.ims.tiscali.net (A record)
213.205.21.8 (actual IP address)
srvmi.p.ims.tiscali.net (SRV record)
core2.p.ims.tiscali.net (A record)
94.32.130.112 (actual IP address)
These are the connection settings I'm using on a Grandstream ATA where I can place and receive calls:
Primary SIP Server: ims.tiscali.net
Outbound Proxy: 213.205.21.8
SIP User ID: $MYPHONENUMBER
Authenticate ID: $MYPHONENUMBER@ims.tiscali.net
Password: $MYPASSWORD
These are the connection settings I'm trying to use with Jami:
Name: $MYPHONENUMBER
SIP Server: I've tried using all of SRV name, A name and IP address.
Password: $MYPASSWORD
Proxy: I've tried using all of SRV name, A name and IP address.
What should happen: I should be able to register with my provider and be able to place and receive calls.
What happens actually: Jami is not sending a single SIP packet anywhere. At most it's performing DNS resolution via SRV or A records, receiving responses with the correct IP address.
I've started Jami with "jami-gnome -d" but I saw no relevant debug info. I'm running wireshark on the box running Jami, and by filtering for "udp.port==5060 || sip" I see no packets.Ming Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/694ffmpeg: add G711, G729 codecs (SIP)2022-07-06T00:18:18Zovariffmpeg: add G711, G729 codecs (SIP)Please add the following codecs to Jami:
* [G.711a](https://en.wikipedia.org/wiki/G.711)
* [G.711u](https://en.wikipedia.org/wiki/G.711)
* [G.729a](https://en.wikipedia.org/wiki/G.729)
What do you think?
Thank you
> MyNetFone uses th...Please add the following codecs to Jami:
* [G.711a](https://en.wikipedia.org/wiki/G.711)
* [G.711u](https://en.wikipedia.org/wiki/G.711)
* [G.729a](https://en.wikipedia.org/wiki/G.729)
What do you think?
Thank you
> MyNetFone uses the **G.711a** codec, it is the standard codec used in Australia and Europe. The **G.711u** codec is used within the US, and may be present in PBXs or UC platforms from US vendors. The **G.729a** codec is often used for conference calling services.<br>
> https://www.mynetfone.com.au/support/faq/question/477
> The patents for G.711, released in 1972, have expired, so it may be used without the need for a licence
> https://en.wikipedia.org/wiki/G.711#Licensing
> As of January 1, 2017, the patent terms of most licensed patents under the G.729 Consortium have expired, the remaining unexpired patents are usable on a royalty-free basis.<br>
> https://en.wikipedia.org/wiki/G.729.1
https://git.jami.net/savoirfairelinux/ring-daemon/issues/200Backloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/201ffmpeg: add G711, G729 codecs (SIP)2021-12-29T21:26:12Zovariffmpeg: add G711, G729 codecs (SIP)Please add the following codecs to Jami:
* [G.711a](https://en.wikipedia.org/wiki/G.711)
* [G.711u](https://en.wikipedia.org/wiki/G.711)
* [G.729a](https://en.wikipedia.org/wiki/G.729)
What do you think?
Thank you
> MyNetFone uses th...Please add the following codecs to Jami:
* [G.711a](https://en.wikipedia.org/wiki/G.711)
* [G.711u](https://en.wikipedia.org/wiki/G.711)
* [G.729a](https://en.wikipedia.org/wiki/G.729)
What do you think?
Thank you
> MyNetFone uses the **G.711a** codec, it is the standard codec used in Australia and Europe. The **G.711u** codec is used within the US, and may be present in PBXs or UC platforms from US vendors. The **G.729a** codec is often used for conference calling services.<br>
> https://www.mynetfone.com.au/support/faq/question/477
> The patents for G.711, released in 1972, have expired, so it may be used without the need for a licence
> https://en.wikipedia.org/wiki/G.711#Licensing
> As of January 1, 2017, the patent terms of most licensed patents under the G.729 Consortium have expired, the remaining unexpired patents are usable on a royalty-free basis.<br>
> https://en.wikipedia.org/wiki/G.729.1
https://git.jami.net/savoirfairelinux/ring-daemon/issues/200Backloghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/180Missed call after one call2020-12-15T21:14:36ZMuhammad FattahiMissed call after one callUsing freepbx 15(using Asterisk 16)
After one call i must kill process jami then try to call.
Otherwise after one call any calls are missed call and nothing happened.
Other client like linphone work currectly.
OS: Ubuntu 18.04Using freepbx 15(using Asterisk 16)
After one call i must kill process jami then try to call.
Otherwise after one call any calls are missed call and nothing happened.
Other client like linphone work currectly.
OS: Ubuntu 18.04Ming Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/109SIP account TLS/SRTP configuration is old fashioned/confusing2022-11-11T16:13:35ZMaxim CournoyerSIP account TLS/SRTP configuration is old fashioned/confusingTested on: Android 20190103 (f-droid)
Recently, voip.ms (finally) added support for calls encryption using TLS for signaling and SRTP for media. I was thrilled to try it with Jami, but couldn't get it to work:
1. Add SIP account basic ...Tested on: Android 20190103 (f-droid)
Recently, voip.ms (finally) added support for calls encryption using TLS for signaling and SRTP for media. I was thrilled to try it with Jami, but couldn't get it to work:
1. Add SIP account basic detail (alias, hostname, username & password), registered OK.
2. Went to Security tab (android client), and enable TLS transport. As voip.ms is using a trusted SSL certificate, I wouldn't expect to have to do anything else, but:
a) the greyed out options below suggest that only the client certificate is going to be verified (I don't care about my cert, but I do want to authenticate the SIP server). So I checked the "Verify Server" box, and unchecked "Verify Client" and "TLS Require Client Certificate".
b) I have no idea why there's a "Server Name" field; this should at least defaults to my SIP hostname, if required?
c) There are other options which are nice for a self signed certs setup I guess, but overly complicated for the more straightforward CA signed use case. Perhaps they could be hidden under an "advanced" section?
d) I put my hostname in Server Name, just in case, and left the other options empty/default.
Expected result: SIP account is re-registered using TLS.
Actual result: TLS seems to fail silently, option is reverted to disabled when visiting the security menu.Sébastien BlinSébastien Blinhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/185Call Forward* { on Busy ; No Answer ; Always } for Jami accounts2024-02-09T20:01:33ZovariCall Forward* { on Busy ; No Answer ; Always } for Jami accounts[Improving SIP Support for Ring](https://ring.cx/en/news#improving-sip-support-for-ring) shared news about the `Call Transfer` feature.
Please add the following:
* `Call Forward on Busy`: Forward all calls if you are on the phone to a n...[Improving SIP Support for Ring](https://ring.cx/en/news#improving-sip-support-for-ring) shared news about the `Call Transfer` feature.
Please add the following:
* `Call Forward on Busy`: Forward all calls if you are on the phone to a number of your choice. Standard call rates may apply.
* `Call Forward No Answer`: Forward all unanswered calls to a number of your choice. Standard call rates may apply.
* `Call Forward Always`: Forward all calls to your SIP (VoIP) phone number to another number of your choice. Standard call rates may apply.
![image](/uploads/4df8d0a3947eff09dd5747925ac97034/image.png)
The idea for this feature (which also shows icons in the image above) came from https://www.exetel.com.au/phone/voip-features
[**Difference Between Call Forward and Call Transfer**](https://learningnetwork.cisco.com/thread/85291)
<b><i>Call Forwarding</i></b>
Call forwarding allows you to send all your incoming calls to another landline or cell phone number. Call forwarding overrides the ability to answer the phone forwarded from the original line. This service requires a subscription through your phone service provider and may incur an additional monthly fee.
<b><i>Call Transfer</i></b>
Call transfer allows you to send a call from one phone to another telephone without the need to disconnect the phone call. This feature is usually activated by the push of a button followed by dialing an extension.
Thank youhttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/179[GNOME] Dialpad2021-03-10T17:54:39ZJami Bot[GNOME] DialpadIssue generated from Tuleap's migration script.
**Originally submitted by: Óvári (ovari)**
Please add a Dialpad which has numbers (0,1,2,3,4,5,6,7,8,9) and star/asterisk (\*) and hash (\#).
https://support.skype.com/en/faq/FA22/how...Issue generated from Tuleap's migration script.
**Originally submitted by: Óvári (ovari)**
Please add a Dialpad which has numbers (0,1,2,3,4,5,6,7,8,9) and star/asterisk (\*) and hash (\#).
https://support.skype.com/en/faq/FA22/how-do-i-dial-an-extension-during-a-call
Thank you
ring-gnome 2018-03-23 23:25:11 UTC
Linux Mint 18.3 Cinnamon 64-bitMing Rui ZhangMing Rui Zhanghttps://git.jami.net/savoirfairelinux/jami-daemon/-/issues/186SIP proxy field is not used correctly2020-12-13T23:57:25ZJami BotSIP proxy field is not used correctlyIssue generated from Tuleap's migration script.
**Originally submitted by: Raman Gupta (rocketraman)**
A detailed description of the bug. Use following fields for description field:
\* Environment:
Ring v1.0.0 on Linux Fedora 25 ...Issue generated from Tuleap's migration script.
**Originally submitted by: Raman Gupta (rocketraman)**
A detailed description of the bug. Use following fields for description field:
\* Environment:
Ring v1.0.0 on Linux Fedora 25
\* Reproduce steps:
Using the hostname and proxy fields to connect to a domain mydomain.com and proxy server proxy.versature.com. The configuration should set up Ring to connect to proxy.versature.com, passing the mydomain.com in the subsequent SIP request(s).
\* Expected result:
I would expect ring to connect successfully using this configuration. As a point of comparison, Zoiper will connect successfully.
\* Actual result:
The actual result is that Ring attempts to make a SIP connection to the hostname, ignoring the proxy field. The debug logs at SIPLOGLEVEL=4 are:
```
[1496261573.159|18869|sipaccount.cpp:698 ] doRegister mydomain.com
[1496261573.159|18869|sipvoiplink.cpp:1220 ] try to resolve 'mydomain.com' (port: 0)
16:12:53.159 resolver.c Transmitting 38 bytes to NS 0 (127.0.0.1:53): DNS SRV query for \_sip.\_udp.mydomain.com: Success
16:12:53.190 \_sip.\_udp.redo DNS SRV resolution failed for \_sip.\_udp.mydomain.com: DNS "Name Error" (PJLIB\_UTIL\_EDNS\_NXDOMAIN)
16:12:53.190 \_sip.\_udp.redo DNS SRV resolution failed for \_sip.\_udp.mydomain.com, trying resolving A/AAAA record for mydomain.com
16:12:53.190 resolver.c Transmitting 28 bytes to NS 0 (127.0.0.1:53): DNS A query for mydomain.com: Success
16:12:53.190 resolver.c Transmitting 28 bytes to NS 0 (127.0.0.1:53): DNS AAAA query for mydomain.com: Success
[1496261573.220|18869|sipaccount.cpp:815 ] Creating transport
16:12:53.220 udp0x18cc530 SIP UDP transport started, published address is 192.168.1.6:5062
[1496261573.220|18869|siptransport.cpp:357 ] Created UDP transport on default : 0.0.0.0:5062
[1496261573.221|18869|siptransport.cpp:82 ] SipTransport@0x190acc0 {tr=0x1919ec8 {rc=2}}
[1496261573.221|18869|sip\_utils.cpp:87 ] Adding route proxy.versature.com
[1496261605.223|18869|sipaccount.cpp:1033 ] SIP registration failed, status=408 (Request Timeout)
[1496261605.223|18869|sipaccount.cpp:2018 ] Scheduling re-registration retry in 53 seconds..
[1496261658.316|18869|sip\_utils.cpp:87 ] Adding route proxy.versature.com
[1496261690.321|18869|sipaccount.cpp:1033 ] SIP registration failed, status=408 (Request Timeout)
[1496261690.321|18869|sipaccount.cpp:2018 ] Scheduling re-registration retry in 302 seconds..
```
IF the system is configured with \_sip.\_udp SRV records on the domain provided in the hostname to point to the proxy, and the proxy field is left blank, then Ring successfully looks up the SRV record and connects to the proxy given there. Explicitly providing the proxy does not work as shown above.
The way I think it should work (and the way I think Zoiper works) is that you have a "domain/hostname" [1] setting and a "proxy" setting. The logic would be:
1) If proxy is set, Ring connects to the proxy and then passes username@domain in the SIP header.
2) If proxy is not set, then Ring looks for the proxy in the DNS SRV records for domain and if it exists, Ring connects to it and then passes username@domain to it.
3) Lastly, if the DNS SRV record does not exist, Ring attempts to connect to the A record of the domain/hostname setting, and again passes username@domain to it.
That way the auth information is completely configurable (username + domain) and the server that handles the request is completely configurable (proxy). The server to physically connect to is configurable either by DNS record on the domain, OR by explicit configuration in the proxy field.
[1] The "domain/hostname" config value would replace the current "hostname" config value.
The codepath to make the SIP connection as described above already exists -- its just that its impossible to configure the UI currently to trigger it. Given an SRV record of \_sip.\_udp.mydomain.com pointing to proxy.versature.com port 5060, Ring makes a connection to proxy.versature.com and passes all information with domain @mydomain.com. Here is a trace https://pastebin.com/raw/5z39MRu8.Ming Rui ZhangMing Rui Zhang