Jigasi SIP Calling

I’m unable to join any room provided with “Jitsi-Conference-Room” header in SIP INVITE. It always tries to join default room that is “siptest”. I observed Jigasi logs, it says even though the “Jitsi-Conference-Room” header is provided, it always choose default conference room. Have anyone ever faced this kind of issue? Please guide me to make it resolved.

I’m using sip2sip account to make calls between browser and jigasi. On browser end , I’m using SIPML5. Here, I’ve also copied the logs of both end:

On browser end:

INVITE sip:test_db@sip2sip.info SIP/2.0 Via: SIP/2.0/WS;branch=z9hG4bKatXogg3hNJzkfupU8y4rQEh2pFdmMkrU;rport Contact: "undefined" Call-ID: a72cd3c7-e981-604e-a0ff-9e296d6b7637 CSeq: 60366 INVITE Content-Type: application/sdp Content-Length: 1751 Max-Forwards: 70 Jitsi-Conference-Room: room1234

o=- 4472566038471964700 2 IN IP4
s=Doubango Telecom - chrome
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS IPGluPOfncZFjYJSplF8hO0xQYIpGecUWKKS
m=audio 59143 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126
c=IN IP4
a=rtcp:59145 IN IP4
a=candidate:2446107665 1 udp 2113937151 59143 typ host generation 0 network-cost 50
a=candidate:2446107665 2 udp 2113937150 59145 typ host generation 0 network-cost 50
a=candidate:842163049 1 udp 1677729535 59143 typ srflx raddr rport 59143 generation 0 network-cost 50
a=candidate:842163049 2 udp 1677729534 59145 typ srflx raddr rport 59145 generation 0 network-cost 50
a=fingerprint:sha-256 36:6A:16:0C:BD:9F:8B:C9:64:BE:35:29:EC:66:8A:39:7A:83:B3:13:07:40:49:E6:18:77:2C:47:97:6B:F2:4D
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:4078345320 cname:R7TuvdkmUSN+nPwh
a=ssrc:4078345320 msid:IPGluPOfncZFjYJSplF8hO0xQYIpGecUWKKS fe1318e4-a0cf-4ad3-bf16-951b7532b699
a=ssrc:4078345320 mslabel:IPGluPOfncZFjYJSplF8hO0xQYIpGecUWKKS
a=ssrc:4078345320 label:fe1318e4-a0cf-4ad3-bf16-951b7532b699

On Jigasi End:

2018-09-12 12:14:47.718 INFO: [55] org.jitsi.jigasi.SipGateway.incomingCallReceived().163 Incoming call received…
2018-09-12 12:14:48.719 INFO: [514] org.jitsi.jigasi.SipGatewaySession.run().907 Using default JVB room name property siptest
2018-09-12 12:14:48.722 INFO: [514] org.jitsi.jigasi.JvbConference.setXmppProvider().532 165cc8671e6@ will use ProtocolProviderServiceJabberImpl(165cc8671e6@ (Jabber))
2018-09-12 12:14:48.807 INFO: [515]

Are you sure this header is received on the jigasi side? There should be pcap files in a folder under /var/log/jitsi, which you can open with Wireshark and check the sip messages that are received, do you see the header there?

I have seen this, where systems strip unknown headers and only pass X-... headers. There is an option to change the header name that will be checked.

I’ve seen the logs of pcaps in wireshark. The “Jitsi-Conference-Room” header is already there.
Even I tried with adding the propert as u suggested in sip-communicator.properties with header value “Jitsi-Conference-Room”. But it didn’t work. Jigasi tries to join default conference room irrespective of any header is passed.

That is strange if you see the header in the pcap, it should work.
Can you give more details how are you testing this, so I can try reproduce it and debug it?
So you had created a sip2sip account and used that for jigasi. You use some custom sip client to set the header and call jigasi, and it is using another sip2sip account. Is this correct?

Are you running jigasi from source, so you can add some prints and debug it?

Ya. It’s really surprising. Yes, as you said I’ve registered one sip2sip user on jigasi and another one is regostered on my SIPML browser client.
Right now i’ve a setup running with ‘jigasi’ package installation, not with source code. I’ve tried to setup jigasi with source code. But un that case,
I’m facing issues while inviting people on jitsi conference.

I just tested it with my asterisk setup and it is working fine, respecting the headers. Not sure what can be happening on your end and I don’t have your setup so I can easily test.
If you want me to take a look, I can but I will need you to setup for me similar scenario by sending me sip-communicator.properties(send it privately of course) you use and access to the client that is doing the calls so I can test the same usecase.
I’m testing with latest jigasi master which is jigasi build version 210.

If you are using asterisk as a sip-client, then how did you modify INVITE to add “Jitsi-Conference-Room” header?

No, I’m using asterisk as a sip server, I use Jitsi Desktop as a sip client.

exten => 1234,1,SIPAddHeader(X-Room-Name: damencho)
exten => 1234,2,Macro(dialnumber,SIP/mysiptestaccount)
exten => 1234,3,Hangup

Can you please explain briefly, what you have done. Which configurations are required on asterisk side. Like if I’ve registered one sip2sip account on jigasi, then how can I join any room on jitsi using asterisk server?
And why you have provided header X-Room-Name instead of Jitsi-Conference-Room. Have you already added header name in sip-communicator.properties? Please elaborate.

Yeah I have a setting for the custom header name, but this is not important.
I’m not using sip2sip, I’m using asterisk.
Both my sip client and jigasi are connected to asterisk and I have in the dialplan this dummy phone number so I can test, but in production you will need to create an IVR which asks the users to enter a meeting ID number, by entering some digits through their device, the same way if you use meet.jit.si to call in a meeting.
Such IVR is simple to be implemented in asterisk.
If you want to call from sip2sip accounts and you need the IVR you will need a PBX that you can implement this and connect that PBX with a sip2sip account which can be reached from other sip2sip accounts.
The idea behind this sip header is that it is sent by a PBX processed in an IVR like system so users from a phone can enter digits, the idea is not to be set by clients, so everybody can use a standard sip device to do the dial in or a sip trunk calling from regular PSTN phones or mobile phones.

For PJSIP, it’s a bit more complicated.

exten => caller_handler,1,NoOp(Set Header Jitsi-Conference-Room: ${ARG1} -Pass: ${ARG2})
same => n,GotoIf($[${LEN(${ARG1})} == 0]? 5)
same => n,Set(PJSIP_HEADER(add,Jitsi-Conference-Room)=${ARG1})
same => n,Set(PJSIP_HEADER(add,X-Room-Name)=${ARG1})
same => 5,GotoIf($[${LEN(${ARG2})} != 0]? 10)
same => n,Return()
same => 10,Set(PJSIP_HEADER(add,Jitsi-Conference-Room-Pass)=${ARG2})
same => n,Return()

Use with

same => n,Dial(PJSIP/XXX,,b(sub-headers^caller_handler^1(ROOM@muc.meet.jitsi,PIN)))

and you can leave either empty (to use default room or no PIN respectively).
As you can see, I set both the classical Jitsi-Conference-Room header as well as the X-Room-Name that is used in the docker-jitsi-meet jigasi config.

I hope this is helpful to some users, took me a while to work out.

Hello @damencho,

What can be the cause for jitsi to strip the header? I can see the header in the Pcap of my asterisk server, but not in the Jitsi pcap.

I have tried adding net.java.sip.communicator.impl.protocol.sip.acc1403273890647.JITSI_MEET_ROOM_HEADER_NAME=X-Room-Name

I have tried with 2 headers as @garloff recommended, but it seems that Jitsi is stripping those headers. I am not using pjsip.

My server is an Ubuntu 18.04. Everything is working, besides this header option.

Thank you in advance.

Hello everyone

I have the same problem.
I’m unable to join any room provided with “Jitsi-Conference-Room” header in SIP INVITE. It always tries to join default room that is “siptest”

I appreciate if you provide how did your resolve this issue.

Thank you

Hello everyone

I have the same problem.
I’m unable to join any room provided with “Jitsi-Conference-Room” header in SIP INVITE. It always tries to join default room that is “siptest”

I appreciate if you provide how did your resolve this issue.

Thank you

You can enable this: https://github.com/jitsi/jigasi/blob/afc7d60fe38b027d735eff7da9634fe4eec580a1/jigasi-home/sip-communicator.properties#L20
And after you place the call open the cap file from the log folder with Wireshark and check, do you see the header in the incoming sip invite.

Hello Damian,
I truly appreciate you reviewing PCAP
I am attaching PCAP - Wireshark
Note: I’m using asterisk as a sip server- [chan_sip]

Thank you
PCAPtxt.txt (3.9 KB)

I see it. The strange is you pass and empty password, can you show and the jigasi logs …

Hello Damian,

Please see attached
jigasi.log (1.3 MB)

Thank you

Which version of jigasi is this?

Hello Damian,

Jigasi Version 1.1-166-g929a439-1
Thank you