Script in Asterisk Dialplan ausführen

dean0103

Neuer User
Mitglied seit
19 Mrz 2023
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
hallo zusammen habe da mal ein kleines problem und zwar möchte bei anruf einer telefonnummer das ein dyndns eintrag in IPtables geschrieben wird .
hier mal meine config :

Dialplan
exten = s,1,System(/usr/bin/bash /usr/bin/ddns.sh)



/usr/bin/ddns.sh:

chown asterisk:asterisk
chmod 755

#!/bin/bash
/usr/bin/sudo iptables -F DYNAMIC
/usr/bin/sudo iptables -A DYNAMIC -p udp -m udp -s meine.dyndns.org.adresse -m multiport --dports xx,xx,xx -j ACCEPT

das script funktioniert mit den IPtables befehlen im Dialplan leider nicht
im terminal und im cli funktioniert es!!
nehme ich statt den iptables befehl ein ganz normalen datei erstellen befehl funktioniert es auch im dailplan

also was mache ich falsch warum funtioniert es nicht im Dailplan

etc/sudoers.d/asterisk

asterisk ALL=/usr/bin/ddns.sh
chmod 440

irgendwer ne idee
 
Ich würde das anders machen:
  1. exten = s,1,System(/usr/bin/ddns.sh)
  2. ddns muss ausführbar sein (also 7 oder 5).
  3. iptables braucht root-Rechte, aber asterisk läuft üblicherweise im asterisk-Kontext. Da müsstest Du dann das script mit suid-Rechten versorgen, wenn das überhaupt gehen soll. Weiß nicht, ob asterisk das akzeptiert.
  4. Wird das Script überhaupt gestartet? Mal ein echo "hallo" >> /tmp/test ergänzt in ddns?
Alles nicht getestet - aber so würde ich mal vorgehen zum Testen.
 
danke habs hinbekommen
problem gelöst
 

Neueste Beiträge

Statistik des Forums

Themen
244,880
Beiträge
2,220,045
Mitglieder
371,605
Neuestes Mitglied
michaelwarwel
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.