Code: Select all
app
no use-imsithen you need to create the asterisk script :
Code: Select all
sudo nano /var/lib/asterisk/agi-bin/gsm_ring_group.agiCode: Select all
#!/bin/bash
HLR_DB=/var/lib/osmocom/hlr.db
# consume the AGI environment handshake (required, even if unused)
while read -r line; do
[ -z "$line" ] && break
done
DIALSTRING=""
while IFS='|' read -r msisdn; do
[ -z "$msisdn" ] && continue
if [ -z "$DIALSTRING" ]; then
DIALSTRING="PJSIP/${msisdn}@osmo-connector"
else
DIALSTRING="${DIALSTRING}&PJSIP/${msisdn}@osmo-connector"
fi
done < <(sqlite3 "$HLR_DB" "SELECT msisdn FROM subscriber WHERE msisdn IS NOT NULL AND msisdn != '' AND last_lu_seen IS NOT NULL AND last_lu_seen >= datetime('now', '-4 hours');")
echo "SET VARIABLE DIALSTRING \"${DIALSTRING}\""Code: Select all
sudo chmod +x /var/lib/asterisk/agi-bin/gsm_ring_group.agi
sudo chown asterisk:asterisk /var/lib/asterisk/agi-bin/gsm_ring_group.agi(might also need to tweak a few permissions)
Code: Select all
ls -la /var/lib/osmocom/hlr.db
sudo setfacl -m u:asterisk:r /var/lib/osmocom/hlr.dbCode: Select all
[from-voip-laptopfm]
exten => s,1,NoOp(Incoming call from voip-laptopfm - building GSM ring group)
same => n,AGI(gsm_ring_group.agi)
same => n,GotoIf($["${DIALSTRING}" = ""]?nohandsets)
same => n,Dial(${DIALSTRING},30)
same => n,Hangup()
same => n(nohandsets),NoOp(No known GSM handsets currently attached)
same => n,Hangup()
; in case FreePBX ever passes a DID digit-string instead of 's'
exten => 611,1,Goto(s,1)