Ich verzweifle
Ich muss bei Störung einer Anlage einen Telefonanruf via SIP-Protokoll absetzten.
Dazu habe ich auf einem Raspberry Codesys und Linphone am laufen.
Codesys funktioniert
Linphone funktioniert
Wenn ich Linphone über ein Terminal direkt oder via Script bediene funktioniert das so wie es soll.
Nun wollte ich via SysProcessExecuteCommand oder auch SysProcessExecuteCommand2 das skript aufrufen und nix funktioniert.
Um das ganze einzuschränken
CODESYSControl.cfg ist angepasst mit Command=AllowAll
pResult ist immer 1 und nicht 25 (was ja auf die Config schließen würde).
Ändere ich das auszuführende Skript, dass z.B. eine Ausgabe geschrieben wird und nicht Linphone bedient wird, wird pResult auch 0 und im Rückgabestring steht auch die richtige Ausgabe.
Aktuell vermute ich es liegt irgendwie an Rechten oder so, da das Skript ja ausgeführt wird aber hald nicht richtig.
mit welchen Rechten bzw. User führt Codesys über SysProcessExecuteCommand die Befehle aus?
Ideen an was es liegen könnte?
Wie gesagt Linphone über das Skript per Terminal gestartet tut das richtige nur über Codesys gestartet nicht.
Oder hat jemand eine Andere Idee mein Problem ohne Zusatzhardware zu lösen.
Gruß Florian
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo und danke, da bin ich mittlerweile auch drauf gekommen, und das Linphone als root nicht funktioniert. Hab in meinem Skript sudo -u pi -i vorangestellt und es funktioniert problemlos. Jetzt kann Codesys uber Voip telefonieren
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo zusammen
Ich verzweifle
Ich muss bei Störung einer Anlage einen Telefonanruf via SIP-Protokoll absetzten.
Dazu habe ich auf einem Raspberry Codesys und Linphone am laufen.
Codesys funktioniert
Linphone funktioniert
Wenn ich Linphone über ein Terminal direkt oder via Script bediene funktioniert das so wie es soll.
Nun wollte ich via SysProcessExecuteCommand oder auch SysProcessExecuteCommand2 das skript aufrufen und nix funktioniert.
Um das ganze einzuschränken
CODESYSControl.cfg ist angepasst mit Command=AllowAll
pResult ist immer 1 und nicht 25 (was ja auf die Config schließen würde).
Ändere ich das auszuführende Skript, dass z.B. eine Ausgabe geschrieben wird und nicht Linphone bedient wird, wird pResult auch 0 und im Rückgabestring steht auch die richtige Ausgabe.
Aktuell vermute ich es liegt irgendwie an Rechten oder so, da das Skript ja ausgeführt wird aber hald nicht richtig.
mit welchen Rechten bzw. User führt Codesys über SysProcessExecuteCommand die Befehle aus?
Ideen an was es liegen könnte?
Wie gesagt Linphone über das Skript per Terminal gestartet tut das richtige nur über Codesys gestartet nicht.
Oder hat jemand eine Andere Idee mein Problem ohne Zusatzhardware zu lösen.
Gruß Florian
welche version der runtime verwendest du - das script wird als 'root' ausgeführt..
Last edit: eschwellinger 2023-07-23
Hallo und danke, da bin ich mittlerweile auch drauf gekommen, und das Linphone als root nicht funktioniert. Hab in meinem Skript sudo -u pi -i vorangestellt und es funktioniert problemlos. Jetzt kann Codesys uber Voip telefonieren