בס"ד
עקב סטייה מנושא העדכונים על המערכת שלנו, עברנו לנושא חדש ובמידה ומנהלי הפורום ירצו-יהיה אפשרי למחוק שרשור זה.
http://call2all.co.il/f2/viewtopic.php?f=7&t=3046
בברכה
מנחם
נושא סגור - אפשרי למחוק
-
- הודעות: 236
- הצטרף: 15:31 29/05/2017
נושא סגור - אפשרי למחוק
נערך לאחרונה על ידי אהבת ישראל ב 12:30 12/03/2018, נערך 2 פעמים בסך הכל.
Re: חדש • מערכת לניהול מתקדם של הגדרות וקמפיינים במערכות ivr2 שלא קיימים בניהול הטלפוני הרגיל
מערכת יפה מאוד
עם קרינות מקצועית ומושקעת
למה אחרי שהוא מקריא את היחידות השיחה מתנתקת?
(השערה שלי : ה"נקודה" שבכמות היחידות תוקעת את ההקראה
אתם צריכים או לפלטר את הנקודה ולהמיר אותה למילה "נקודה" או לעגל את המספר באמצעות הפונקציה round
למשל אם שם המשתנה שלכם שמכיל את כמות היחידות הוא $abc
תוסיפו את השורה הבאה לפני ההדפסה
בהצלחה!
ותודה רבה על השכלול המיוחד! )
עם קרינות מקצועית ומושקעת
למה אחרי שהוא מקריא את היחידות השיחה מתנתקת?
(השערה שלי : ה"נקודה" שבכמות היחידות תוקעת את ההקראה
אתם צריכים או לפלטר את הנקודה ולהמיר אותה למילה "נקודה" או לעגל את המספר באמצעות הפונקציה round
למשל אם שם המשתנה שלכם שמכיל את כמות היחידות הוא $abc
תוסיפו את השורה הבאה לפני ההדפסה
קוד: בחירת הכל
$abc=round($abc);
ותודה רבה על השכלול המיוחד! )
Re: חדש • מערכת לניהול מתקדם של הגדרות וקמפיינים במערכות ivr2 שלא קיימים בניהול הטלפוני הרגיל
יש לי הצעה לשדרוג המערכת שלכם
הוספת שלוחות שאי אפשר כרגע להוסיף דרך הטלפון
הכנתי דוגמא של קוד php שמבצע יצירת שלוחה מסוג "מעבר לשלוחה אחרת" וכן "הפניית משתמשים לפי רשימת תפוצה"
להלן הדוגמא (מבוסס על המחלקה של "מאזין נלהב")
ב ext.ini כל מה שצריך לרשום זה את הלינק לקובץ בשרת שלכם
ניתן כמובן להחליף כל טקסט שמתחיל ב
לקובץ קריינות
כסבורני שתהיה זו תועלת רבה עבור אלו הזקוקים לכך
אולי תבקשו מימות המשיח שיפרסמו את הקו שלכם בכניסה לניהול של כלל המערכות עבור מאות מפעילי קווים שאין להם כלל גישה למחשב
בתודה
הוספת שלוחות שאי אפשר כרגע להוסיף דרך הטלפון
הכנתי דוגמא של קוד php שמבצע יצירת שלוחה מסוג "מעבר לשלוחה אחרת" וכן "הפניית משתמשים לפי רשימת תפוצה"
להלן הדוגמא (מבוסס על המחלקה של "מאזין נלהב")
קוד: בחירת הכל
<?php
/*
הוספת שלוחות
*/
$hangup = $_GET['hangup'];//ניתוק השיחה
if($hangup) {exit; }
//מספר מערכת וסיסמא
$DID=ReadFromYemot('DID', 't-אנא הַקישו את מספר המערכת שלכם וסולמית לסיום.', ",yes,10,9,7");
$PASS=ReadFromYemot('PASS', 't-אנא הַקישו את סיסמת המערכת שלכם וסולמית לסיום.', ",yes,,1,7");
//נתיב השלוחה אותה רוצים להגדיר
$path=ReadFromYemot('PATH','t-אנא הַקישו את כתובת השלוחה אותה אתם רוצים להגדיר וסולמית לסיום , להגדרת השלוחה הראשית הקישו סולמית , לתיקיות פנימיות יש להקיש את כתובת השלוחה המלאה, כאשר בין שלוחה לשלוחה יש להקיש כוכבית.'
, ",,,1,7,Alpha,,,*/,,,Ok,ivr,");
//סוג השלוחה אותה רוצים להגדיר
$type=ReadFromYemot('type', 't-אנא בחרו את סוג השלוחה אותה ברצונכם להגדיר, למעבר לשלוחה אחרת הקישו אחת , להפניית משתמשים לפי רשימת תפוצה הקישו שתיים.');
if ($type==1)
{
$go_to=ReadFromYemot('goto', 't-אנא הַקישו את כתובת השלוחה שאליה יופנו וסולמית לסיום , להגדרת השלוחה הראשית הקישו סולמית , לתיקיות פנימיות יש להקיש את כתובת השלוחה המלאה, כאשר בין שלוחה לשלוחה יש להקיש סולמית.'
, ",,,1,7,Alpha,,,*/,,,Ok,ivr,");
if ($go_to=='ivr'){$go_to=null;}
$content="type=go_to_folder
go_to_folder=/$go_to";
}
if ($type==2)
{
//התבנית שלפיה רוצים לסנן
$template=ReadFromYemot('tamplate','t-אנא הַקישו את המספר הסידורי של התבנית שלפיה אתם רוצים לבצע את המיון לתבנית ברירת המחדל הַקישו סולמית.',
",,,1,7,Alpha,,,*/,,,Ok,def,");
$go_to_activ=ReadFromYemot('gotoact' , 't-אנא הַקישו את כתובת השלוחה שאליה יופנו המופיעים ברשימה במצב פעיל וסולמית לסיום , להגדרת השלוחה הראשית הקישו סולמית , לתיקיות פנימיות יש להקיש את כתובת השלוחה המלאה, כאשר בין שלוחה לשלוחה יש להקיש סולמית.',
",,,1,7,Alpha,,,*/,,,Ok,ivr,");
$go_to_blocked =ReadFromYemot('gotoblk', 't-אנא הַקישו את כתובת השלוחה שאליה יופנו המופיעים ברשימה במצב חסום וסולמית לסיום , להגדרת השלוחה הראשית הקישו סולמית , לתיקיות פנימיות יש להקיש את כתובת השלוחה המלאה, כאשר בין שלוחה לשלוחה יש להקיש סולמית.',
",,,1,7,Alpha,,,*/,,,Ok,ivr,");
$go_to_none =ReadFromYemot('gotonon', 't-אנא הַקישו את כתובת השלוחה שאליה יופנו אלו שאינם מופיעים ברשימה וסולמית לסיום , להגדרת השלוחה הראשית הקישו סולמית , לתיקיות פנימיות יש להקיש את כתובת השלוחה המלאה, כאשר בין שלוחה לשלוחה יש להקיש סולמית'
, ",,,1,7,Alpha,,,*/,,,Ok,ivr,");
if($template=='def'){$template=null; }
else {$template="template_filter=$template";}
if ($go_to_activ=='ivr'){$go_to_activ=null;}
if ($go_to_blocked=='ivr'){$go_to_blocked=null;}
if($go_to_none=='ivr'){$go_to_none=null;}
$content="type=template_filter
$template
template_filter_active_go_to=/$go_to_activ
template_filter_none_go_to=/$go_to_none
template_filter_blocked_go_to=/$go_to_blocked";
}
/*================יצירת אובייקט(מופע) חדש====================*/
$con = new connecting_to_yemot_api($DID, $PASS);
/*===============================================================*/
if($path=='ivr'){$path="ivr/ext.ini";}
else {$path="ivr/$path/ext.ini";}
/*===============================================================*/
/*================העלאת קובץ====================*/
// יצירת הקובץ
$File = new oFile('ext.ini', 'text/plain', $content);
$body = array
(
'path' => $path,
'convertAudio' => 0,
'fileUpload' => $File
);
$a = $con -> connecting('UploadFile', $body);
if($a) {print "id_list_message=t-השלוחה הוגדרה בהצלחה&";}
/*===============================================================*/
function ReadFromYemot($var, $message, $read=",,1,1,7,No,")
{if ($_GET[$var]) { return $_GET[$var] ;}else{
print "read=$message=$var$read"; exit; }
}
//המחלקה של "מאזין נלהב"
class BodyPost
{
// part "multipart/form-data"
public static function PartPost($name, $val)
{
$body = 'Content-Disposition: form-data; name="' . $name . '"';
// check instance of oFile
if($val instanceof oFile)
{
$file = $val->Name();
$mime = $val->Mime();
$cont = $val->Content();
$body .= '; filename="' . $file . '"' . "\r\n";
$body .= 'Content-Type: ' . $mime ."\r\n\r\n";
$body .= $cont."\r\n";
} else $body .= "\r\n\r\n".$val."\r\n";
return $body;
}
public static function Get(array $post, $delimiter = '-------------0123456789')
{
if(is_array($post) && !empty($post))
{
$bool = true;
//foreach($post as $val) if($val instanceof oFile) {$bool = true; break; };
if($bool)
{
$ret = '';
foreach($post as $name=>$val)
$ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val);
$ret .= "--" . $delimiter . "--\r\n";
} else $ret = http_build_query($post);
} else throw new \Exception('Error input param!');
return $ret;
}
}
class oFile
{
private $name;
private $mime;
private $content;
public function __construct($name, $mime=null, $content=null)
{
if(is_null($content))
{
$info = pathinfo($name);
// check is exist and readable file
if(!empty($info['basename']) && is_readable($name))
{
$this->name = $info['basename'];
// get MIME
$this->mime = mime_content_type($name);
// load file
$content = file_get_contents($name);
if($content!==false)
{
$this->content = $content;
}
else
{
throw new Exception('Don`t get content - "'.$name.'"');
}
}
else
{
throw new Exception('Error param');
}
}
else
{
$this->name = $name;
if(is_null($mime)) $mime = mime_content_type($name);
$this->mime = $mime;
$this->content = $content;
};
}
public function Name() { return $this->name; }
public function Mime() { return $this->mime; }
public function Content() { return $this->content; }
}
class connecting_to_yemot_api
{
public $token;
const URL = 'https://www.call2all.co.il/ym/api/';
public function __construct($user_name, $password)
{
$body = array('username' => $user_name, 'password' => $password);
$body = http_build_query($body);
$opts = array('http' => array(
'method' => 'POST',
'header' => "Content-Type: application/x-www-form-urlencoded",
'content' => $body,
'follow_location' => false) );
$context = stream_context_create($opts);
$url = self::URL.'Login';
$result = file_get_contents($url, FALSE, $context);
$result = json_decode($result);
if($result -> responseStatus == 'OK')
{
$this -> token = $result -> token;
return TRUE;
}
else
{
throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים');
}
}
public function __destruct()
{
$this -> connecting('Logout');
}
public function connecting($action, $body = array())
{
$delimiter = '----'.uniqid();
$body['token'] = $this -> token;
$body = BodyPost::Get($body, $delimiter);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-Type: multipart/form-data; boundary='.$delimiter,
'content' => $body,
'follow_location' => false
)
);
$context = stream_context_create($opts);
$url = self::URL.$action;
$result = file_get_contents($url, FALSE, $context);
$headers = $this -> parseHeaders($http_response_header);
if($headers['Content-Type'][0] == 'application/json')
{
return json_decode($result);
}
else
{
return $result;
}
}
private function parseHeaders($headers)
{
// פונקציה שמקבלת מערך של שורות הכותרות
// הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד
// מערך הכותרות
$head = array();
foreach( $headers as $k=>$v )
{
$t = explode( ':', $v, 2 );
if( isset( $t[1] ) )
{
if($t[0] == 'Set-Cookie')
{
$CookiesArr = array();
$cookies = explode( ';', $t[1]);
foreach($cookies as $cookie)
{
$c = explode( '=', $cookie);
if( isset( $c[1] ) )
{
$CookiesArr[ trim($c[0]) ] = trim( $c[1] );
}
else
{
$CookiesArr[] = trim( $c[0] );
}
}
$head[ trim($t[0]) ] = $CookiesArr;
}
elseif($t[0] == 'Content-Type')
{
$arr = array();
$children = explode( ';', $t[1]);
foreach($children as $child)
{
$c = explode( '=', $child);
if( isset( $c[1] ) )
{
$arr[ trim($c[0]) ] = trim( $c[1] );
}
else
{
$arr[] = trim( $c[0] );
}
}
$head[ trim($t[0]) ] = $arr;
}
else
{
$head[ trim($t[0]) ] = trim( $t[1] );
}
}
else
{
$head[] = $v;
if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
{
$head['reponse_code'] = intval($out[1]);
}
}
}
return $head;
}
}
?>
ניתן כמובן להחליף כל טקסט שמתחיל ב
קוד: בחירת הכל
t-
קוד: בחירת הכל
f-xxxyyy
אולי תבקשו מימות המשיח שיפרסמו את הקו שלכם בכניסה לניהול של כלל המערכות עבור מאות מפעילי קווים שאין להם כלל גישה למחשב
בתודה
-
- הודעות: 236
- הצטרף: 15:31 29/05/2017
Re: חדש • מערכת לניהול מתקדם של הגדרות וקמפיינים במערכות ivr2 שלא קיימים בניהול הטלפוני הרגיל
.
נערך לאחרונה על ידי אהבת ישראל ב 12:36 12/03/2018, נערך פעם 1 בסך הכל.
Re: חדש • מערכת לניהול מתקדם של הגדרות וקמפיינים במערכות ivr2 שלא קיימים בניהול הטלפוני הרגיל
…
נערך לאחרונה על ידי 011371 ב 17:05 11/03/2018, נערך פעם 1 בסך הכל.
-
- הודעות: 236
- הצטרף: 15:31 29/05/2017
Re: חדש • מערכת לניהול מתקדם של הגדרות וקמפיינים במערכות ivr2 שלא קיימים בניהול הטלפוני הרגיל
.
נערך לאחרונה על ידי אהבת ישראל ב 12:38 12/03/2018, נערך פעם 1 בסך הכל.
Re: חדש • מערכת לניהול מתקדם של הגדרות וקמפיינים במערכות ivr2 שלא קיימים בניהול הטלפוני הרגיל
בשרת שלי זה עובד מצויןבדקנו את זה והוא אומר שהשלוחה נוצרה אך בתכלס הוא לא יוצר את השלוחה....
תרשו לי לנחש שהשרת שלכם חינמון
-
- הודעות: 236
- הצטרף: 15:31 29/05/2017
Re: חדש • מערכת לניהול מתקדם של הגדרות וקמפיינים במערכות ivr2 שלא קיימים בניהול הטלפוני הרגיל
.
נערך לאחרונה על ידי אהבת ישראל ב 12:38 12/03/2018, נערך פעם 1 בסך הכל.
-
- הודעות: 236
- הצטרף: 15:31 29/05/2017
Re: חדש • מערכת לניהול מתקדם של הגדרות וקמפיינים במערכות ivr2 שלא קיימים בניהול הטלפוני הרגיל
.
נערך לאחרונה על ידי אהבת ישראל ב 12:38 12/03/2018, נערך פעם 1 בסך הכל.
חזור אל “עזרה הדדית ונושאים כללים”
מי מחובר
משתמשים הגולשים בפורום זה: Bing [Bot] | 25 אורחים