Skip to content

Instantly share code, notes, and snippets.

@mi-skam
Created September 26, 2025 09:55
Show Gist options
  • Save mi-skam/fdfcc7c0b6cff6ce43bc5a99c9cf23a0 to your computer and use it in GitHub Desktop.
Save mi-skam/fdfcc7c0b6cff6ce43bc5a99c9cf23a0 to your computer and use it in GitHub Desktop.
DECT-Telefon Konfiguration für FreePBX
# DECT-Telefon Konfiguration für FreePBX
# Unterstützt: Gigaset, Panasonic, Yealink DECT Systeme
# ============================================
# Gigaset DECT IP Konfiguration
# ============================================
# Gigaset N870 IP Multicell System
[gigaset-n870](!)
type=endpoint
transport=transport-udp
context=from-internal
disallow=all
allow=alaw,ulaw,g722
direct_media=no
mailboxes=${EXTEN}@default
callerid=${CALLERID}
dtmf_mode=rfc4733
rtp_timeout=60
rtp_hold_timeout=600
trust_id_inbound=yes
device_state_busy_at=1
# Beispiel Extension 201 für Gigaset
[201](gigaset-n870)
auth=201
aors=201
callerid=Reception <201>
[201]
type=auth
auth_type=userpass
password=SecurePassword201
username=201
[201]
type=aor
max_contacts=5
qualify_frequency=30
remove_existing=yes
# ============================================
# Panasonic DECT Konfiguration
# ============================================
# Panasonic KX-TGP600 Series
[panasonic-dect](!)
type=endpoint
transport=transport-udp
context=from-internal
disallow=all
allow=alaw,ulaw,g729
direct_media=no
mailboxes=${EXTEN}@default
callerid=${CALLERID}
dtmf_mode=rfc4733
rtp_timeout=60
rtp_hold_timeout=600
# Extension 202 für Panasonic DECT
[202](panasonic-dect)
auth=202
aors=202
callerid=Office Manager <202>
[202]
type=auth
auth_type=userpass
password=SecurePassword202
username=202
[202]
type=aor
max_contacts=3
qualify_frequency=30
# ============================================
# Auto-Provisioning Konfiguration
# ============================================
# HTTP Provisioning Server Konfiguration
# /var/www/html/provision/
# Gigaset Config Template (gigaset_template.xml)
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<connection id="0">
<account active="1" display_name="{display_name}"
password="{password}" user_id="{extension}"
user_name="{extension}">
<server domain="{sip_server}" port="5060"
transport="UDP" dtmf_mode="RFC2833"/>
<codecs>
<audio>
<codec name="PCMA" priority="1"/>
<codec name="PCMU" priority="2"/>
<codec name="G722" priority="3"/>
</audio>
</codecs>
</account>
</connection>
<directory>
<contact_list url="http://{provision_server}/phonebook.xml"/>
</directory>
<web_ui admin_password="admin123"/>
</settings>
# ============================================
# Adressbuch Export für DECT Telefone
# ============================================
# XML Phonebook Generator
cat > /var/www/html/provision/phonebook.xml << 'PHONEBOOK_EOF'
<?xml version="1.0" encoding="UTF-8"?>
<phonebook>
PHONEBOOK_EOF
mysql -h127.0.0.1 -uasterisk -pFreePBXPassword123! asterisk -e "
SELECT CONCAT(
' <contact>',
'<name>', REPLACE(REPLACE(displayname, '&', '&amp;'), '<', '&lt;'), '</name>',
CASE WHEN workphone != '' THEN CONCAT('<number type=\"work\">', workphone, '</number>') ELSE '' END,
CASE WHEN cellphone != '' THEN CONCAT('<number type=\"mobile\">', cellphone, '</number>') ELSE '' END,
'</contact>'
) as xml_entry
FROM phonebook
WHERE (workphone IS NOT NULL AND workphone != '')
OR (cellphone IS NOT NULL AND cellphone != '')
ORDER BY displayname;
" --skip-column-names >> /var/www/html/provision/phonebook.xml
echo "</phonebook>" >> /var/www/html/provision/phonebook.xml
# ============================================
# Extensions für weitere DECT Handsets
# ============================================
# Extensions 203-210 für zusätzliche DECT Handsets
[dect-handset-template](!)
type=endpoint
transport=transport-udp
context=from-internal
disallow=all
allow=alaw,ulaw,g722
direct_media=no
dtmf_mode=rfc4733
rtp_timeout=60
rtp_hold_timeout=600
mailboxes=${EXTEN}@default
# Extension 203
[203](dect-handset-template)
auth=203
aors=203
callerid=Secretary <203>
[203]
type=auth
auth_type=userpass
password=SecurePassword203
username=203
[203]
type=aor
max_contacts=2
qualify_frequency=30
# Extension 204
[204](dect-handset-template)
auth=204
aors=204
callerid=Manager <204>
[204]
type=auth
auth_type=userpass
password=SecurePassword204
username=204
[204]
type=aor
max_contacts=2
qualify_frequency=30
# ============================================
# DECT-spezifische Features
# ============================================
# Group Pickup für DECT Phones
[pickup-groups]
exten => *8,1,Pickup()
exten => **,1,PickupChan(PJSIP/${EXTEN:2})
# Call Park für DECT Systems
[park-feature]
exten => 700,1,Park()
exten => _70[1-9],1,ParkedCall(${EXTEN:2})
# DECT Intercom/Paging
[dect-intercom]
exten => *80,1,NoOp(DECT Intercom to all)
exten => *80,n,Page(PJSIP/201&PJSIP/202&PJSIP/203&PJSIP/204,d)
exten => *80,n,Hangup()
# Individual Intercom
exten => _*8XXX,1,NoOp(Individual Intercom to ${EXTEN:2})
exten => _*8XXX,n,SIPAddHeader(Call-Info: answer-after=0)
exten => _*8XXX,n,Dial(PJSIP/${EXTEN:2},5,A(beep))
exten => _*8XXX,n,Hangup()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment