Asterisk + Python



  • ב extensions.conf:

    exten => s,1,Answer
    same => n,System(python /etc/asterisk/mkCall.py)
    same => n, Hangup
    
    

    בקובץ mkCall.py

    import sys
    print ("Argument List:", str(sys.argv))
    f=open("/tmp/a.a","a+")
    f.write( str(sys.argv))
    f.close
    

    הבעיה היא שהוא לא יוצר את הקובץ
    אבל הסקריפט עצמו כן רץ

        -- Executing [8@ivr1-1:2] System("SIP/upsilon-0000005b", "python /etc/asterisk/mkCall.py") in new stack
    
    

    אם אני מרית את הסקריפט מהטרמינל הוא כן יוצר את הקובץ
    אני עם הרשאות root

    למישהו יש פתרון???



  • @upsilon01 איזה הרשאות יש לקובץ?
    מה הפלט של

    ll /etc/asterisk/mkCall.py
    


  • -rw-r--r-- 1 root root 217 Nov 29 04:29 /etc/asterisk/mkCall.py
    
    

    בסדר הבנתי מה הבעיה



  • @upsilon01
    תכתוב אותה כאן, כדי שמי שיבוא אחריך עם אותה בעייה לא יצטרך לשאול.

    בינתיים אני אכתוב 🙂
    ההרשאות לקובץ הם של root
    ואסטריסק רץ במשתמש משלו asterisk, ולכן אתה מקבל access denied
    מה שצריך לעשות זה לתת לקובץ בעלות / הרשאות של המשתמש אסטריסק
    לדוגמא ככה:

    chown asterisk:asterisk
    

    תעדכן שאכן זו הייתה הבעייה



  • אכן, זה היה הבעיה
    אבל הייתי צריך לתת הרשאות גם לתיקיה שבה נשמר הקובץ


 

בא תתחבר לדף היומי!