Tutorial - Jitsi / Jigasi & FreePBX integration. Along with Asterisk IVR to use Jitsi conference mapper API

I’m new to both jitsi and asterisk. I follow this guide. When I type the PIN and I got “That’s not a valid conference number, please try again.” But I see that the number in “User entered” is correct. I wonder if the PIN variable is correct or not.

And this is my asterisk log.
I would be grateful if someone can help. Thanks

[2020-05-21 15:20:44] VERBOSE[5948][C-00000001] app_read.c: User entered ‘3904115425’
[2020-05-21 15:20:44] VERBOSE[5948][C-00000001] pbx.c: Executing [200@from-internal:4] Verbose(“SIP/201-00000000”, “esult is:{Pin}”) in new stack
[2020-05-21 15:20:44] VERBOSE[5948][C-00000001] app_verbose.c: result is:{Pin}
[2020-05-21 15:20:44] VERBOSE[5948][C-00000001] pbx.c: Executing [200@from-internal:5] SayDigits(“SIP/201-00000000”,"{Pin}") in new stack
[2020-05-21 15:20:44] VERBOSE[5948][C-00000001] pbx.c: Executing [200@from-internal:6] AGI(“SIP/201-00000000”, “jits_curling.sh,{Pin}”) in new stack
[2020-05-21 15:20:44] VERBOSE[5948][C-00000001] res_agi.c: Launched AGI Script /var/lib/asterisk/agi-bin/jitsi_curlig.sh
[2020-05-21 15:20:45] VERBOSE[5948][C-00000001] res_agi.c: <SIP/201-00000000>AGI Script jitsi_curling.sh completed, eturning 0
[2020-05-21 15:20:45] VERBOSE[5948][C-00000001] pbx.c: Executing [200@from-internal:7] Verbose(“SIP/201-00000000”, “esult is: {JITSI}”) in new stack
[2020-05-21 15:20:45] VERBOSE[5948][C-00000001] app_verbose.c: result is: {JITSI}
[2020-05-21 15:20:45] VERBOSE[5948][C-00000001] pbx.c: Executing [200@from-internal:8] GotoIf(“SIP/201-00000000”, “[{JITSI}” = “false}”]?invalidnum:joinmeeting") in new stack
[2020-05-21 15:20:45] VERBOSE[5948][C-00000001] pbx_builtins.c: Goto (from-internal,200,9)
[2020-05-21 15:20:45] VERBOSE[5948][C-00000001] pbx.c: Executing [200@from-internal:9] Playback(“SIP/201-00000000”, conf-invalid") in new stack
[2020-05-21 15:20:45] VERBOSE[5948][C-00000001] file.c: <SIP/201-00000000> Playing ‘conf-invalid.gsm’ (language ‘en’

Hi,
This doesn’t look like functionality of the dial plan for this tutorial. I saw that you’ve posted on another thread, I’ll try to lend a hand over there and keep this thread in support of my recommended Dial Plan.

Usage of scripts to curl a result is a bit nonsensical in my opinion, and probably where some of the headache is being caused. Not directed at you, I know you’re just trying to use someone’s setup. If you want to give this method a try, I’m sure you’ll be a lot happier :slight_smile:

Hi Craig,

Thanks for the tutorial. I almost got it working. When someone *dails in the room and enter the pin, they gets connected. People in the conference can hear to the dailed-in person, but the person cannot hear anything from the conference. It is like one-way communication from person to conference. What would be the cause for this? Thanks in advance.

Regards,
Krishna K

Most common causes of one-way audio stems from NAT configuration of the RTP stream or bad headers. I’ve seen headers good enough to connect calls, but then packet exchange is impaired.

  • Have you tested a softphone and confirmed audio both ways?

  • Does the default “siptest” room work when just dialing the jitsi extension? (no IVR, no adding of headers)

  • Any errors in the Jigasi log?

Craig,

I have tested soft phone and it worked fine. Again, I will try to check in sequence and update you what I missed. Thanks for reply.

Regards,
Krishna K

Thanks, this guide has been a great help.

I have a docker instance running with SIP to FreePBX that can accept incoming calls, but I’m unsure how to dynamically route to conference rooms and ids.

After starting the docker containers from https://github.com/jitsi/docker-jitsi-meet I found there were two things in the .jitsi-meet-cfg/jigasi/sip-communicator.properties file I needed to add.

From https://github.com/jitsi/jigasi/blob/master/jigasi-home/sip-communicator.properties ,
org.jitsi.jigasi.DEFAULT_JVB_ROOM_NAME=somename wasn’t populated in the docker config version

org.jitsi.jigasi.MUC_SERVICE_ADDRESS=muc.meet.jitsi was the missing sauce to connect inbound calls to a room. I found that in a separate thread.

I also have it joined to Active Directory, but we wanted the user names to show up. I don’t have that working, but as a workaround I noted the .jitsi-meet-cfg/web/config.js has the fields “useNicks” and “requireDisplayName” which I uncommented as well and users can login with LDAP, and enter their name.

1 Like

Adding to sip-communicator.properties for the docker install and conference rooms map now.

net.java.sip.communicator.impl.protocol.sip.acc1.JITSI_MEET_ROOM_HEADER_NAME=Jitsi-Conference-Room

net.java.sip.communicator.impl.protocol.sip.acc1.JITSI_MEET_DOMAIN_BASE_HEADER_NAME=X-Domain-Base

This is the default value, I think … So setting this is not needed.

I’m not sure, we based the change off this https://github.com/jitsi/docker-jitsi-meet/blob/master/jigasi/rootfs/defaults/sip-communicator.properties#L37-L38

We could see in the FreePBX logs that the incoming SIP call was passing the header Jitsi-Conference-Room that was configured in the the above “extensions_custom.conf” example.