ניתוק השיחה | asterisk
-
שלום וברכה,
הפנתי קו של ימות המשיח אל השרת שלי (routing_ip)בקובץ extensions.conf הגדרתי כך:
[public] exten => 1000,1,NoOp(Starting simple Python AGI script) same => n,AGI(/etc/asterisk/test/handle_extension.py)בקובץ handle_extension.py הגדרתי כך:
#!/usr/bin/env python3 import sys def agi_command(command): sys.stdout.write(command + '\n') sys.stdout.flush() return sys.stdin.readline().strip() def main(): env = {} while True: line = sys.stdin.readline().strip() if not line: break key, value = line.split(':', 1) env[key.strip()] = value.strip() agi_channel = env['agi_channel'] agi_command('ANSWER') agi_command(f'VERBOSE "all env: {env}" 1') agi_command('STREAM FILE /etc/asterisk/test/Ketapuach ""') agi_command(f'HANGUP {agi_channel}') if __name__ == "__main__": main()למעשה, השיחה נענית, נכתב בconsole כל המשתנים, הקובץ מושמע (קובץ של 10 שניות), ואז הכל חוזר על עצמו, ולא מתנתקת השיחה
הנה הלוג שמראה שהוא קולט בהצלחה את המשתנים: (צינזרתי חלק מטעמי פרטיות)
<SIP/207.232.31.138-000000e9>AGI Rx << VERBOSE "all env: {'agi_request': '/etc/asterisk/test/handle_extension.py', 'agi_channel': 'SIP/207.232.31.138-000000e9', 'agi_language': 'en', 'agi_type': 'SIP', 'agi_uniqueid': '1721087037.440', 'agi_version': '20.4.0~dfsg+******', 'agi_callerid': '055******', 'agi_calleridname': '0799******', 'agi_callingpres': '0', 'agi_callingani2': '0', 'agi_callington': '0', 'agi_callingtns': '0', 'agi_dnid': '1000', 'agi_rdnis': 'unknown', 'agi_context': 'public', 'agi_extension': '1000', 'agi_priority': '2', 'agi_enhanced': '0.0', 'agi_accountcode': '', 'agi_threadid': '1243178992****}" 1הנה הלוג הרלוונטי, יש פה את השמעת הקובץ, ואת הבקשת ניתוק, ואת הסטטוס החוזר
<SIP/207.232.31.138-000000e9>AGI Rx << STREAM FILE /etc/asterisk/test/Ketapuach "" -- <SIP/207.232.31.138-000000e9> Playing '/etc/asterisk/test/Ketapuach.slin' (escape_digits=) (sample_offset 0) (language 'en') > 0x71114c018d50 -- Strict RTP learning complete - Locking on source address 207.232.31.138:16620 <SIP/207.232.31.138-000000e9>AGI Tx >> 200 result=0 endpos=80105 <SIP/207.232.31.138-000000e9>AGI Rx << HANGUP SIP/207.232.31.138-000000e9 <SIP/207.232.31.138-000000e9>AGI Tx >> 200 result=1איך אוכל לגרום כן לניתוק השיחה?
-
תנסה להגדיר בשלוחה בימות לאיזה שלוחה לעבור בסיום,
יכול להיות שימות שולח אותך בסיום בחזרה לאותה שלוחה
routing_ip_end_goto=/8 -
תנסה להגדיר בשלוחה בימות לאיזה שלוחה לעבור בסיום,
יכול להיות שימות שולח אותך בסיום בחזרה לאותה שלוחה
routing_ip_end_goto=/8@ivrtikshoret כתב בניתוק השיחה | asterisk:
יכול להיות שימות שולח אותך בסיום בחזרה לאותה שלוחה
זה אכן הייתה הבעיה, תודה רבה,
הגדרתי בימות המשיחrouting_ip_end_goto=hangupוזה מתנתק בסיום
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות