Jigasi SIP Calling


#1

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 10.115.3.178;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

v=0
o=- 4472566038471964700 2 IN IP4 127.0.0.1
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 219.65.62.52
a=rtcp:59145 IN IP4 219.65.62.52
a=candidate:2446107665 1 udp 2113937151 192.168.0.247 59143 typ host generation 0 network-cost 50
a=candidate:2446107665 2 udp 2113937150 192.168.0.247 59145 typ host generation 0 network-cost 50
a=candidate:842163049 1 udp 1677729535 219.65.62.52 59143 typ srflx raddr 192.168.0.247 rport 59143 generation 0 network-cost 50
a=candidate:842163049 2 udp 1677729534 219.65.62.52 59145 typ srflx raddr 192.168.0.247 rport 59145 generation 0 network-cost 50
a=ice-ufrag:JZrp
a=ice-pwd:nCnTV+gIIJsUeubF6zAcHNqB
a=ice-options:trickle
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=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=sendrecv
a=rtcp-mux
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@68.64.58.148 will use ProtocolProviderServiceJabberImpl(165cc8671e6@68.64.58.148 (Jabber))
2018-09-12 12:14:48.807 INFO: [515]


#2

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.
net.java.sip.communicator.impl.protocol.sip.acc1403273890647.JITSI_MEET_ROOM_HEADER_NAME=X-Room-Name


#3

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.


#4

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?


#5

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.


#6

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.


#7

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


#8

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

#9

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.


#10

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.