Asterisk点击通话

时间:2010-11-16 14:08:52

标签: c# asterisk

也许你们中的一些人可能知道如何实现这一目标。 我想要这样的东西:

  1. 点击链接/按钮
  2. 我的手机响了,我拿起来
  3. Asterisk为我拨号码
  4. 收件人电话响起
  5. 我正在使用星号 1.2

    我尝试了dial out。但只有我能做到就是呼唤一方。

    提前致谢。

2 个答案:

答案 0 :(得分:4)

您可以使用call files。请阅读:Asterisk auto-dial out

我制作了简单的CGI脚本,通过Web服务器调用创建调用文件(记得使用临时目录),然后将其移动到/var/spool/asterisk/outgoing,Asterisk完成剩下的工作。从用户的角度来看,它的工作方还记得规范化电话号码(在我的网页上,他们可以有空格,连字符等,而在通话文件中,它们必须看起来像是可拨号码。)

答案 1 :(得分:1)

您可以看到我在PHP中编写的调用脚本打开传真文件,但它将适合您的需要。在这里查看完整的脚本:http://www.csrdu.org/nauman/2010/10/18/web-fax-for-asterisk/

$faxHeader = $_POST["faxHeader"];
$localID = $_POST["localID"];
$email = $_POST["email"];
$dest = $_POST["dest"];

$outbound_route = "@outbound-allroutes";
$outboundfax_context = "outboundfax";

$callfile = "Channel: Local/$dest$outbound_route\n" .
   "MaxRetries: 1\n" .
   "RetryTime: 60\n" .
   "WaitTime: 60\n"  .
   "Archive: yes\n"  .
   "Context: $outboundfax_context \n"  .
   "Extension: s\n" .
   "Priority: 1\n" .
   "Set: FAXFILE=$input_file_tif\n" .
   "Set: FAXHEADER=$faxHeader\n" .
   "Set: TIMESTAMP=" . date("d/m/y : H:i:s",time()) . "\n" .
   "Set: DESTINATION=$dest\n".
   "Set: LOCALID=$localID\n" .
   "Set: EMAIL=$email\n";

// create the call file in /tmp
$callfilename = unique_name("/tmp", ".call");
$f = fopen($callfilename, "w");
fwrite($f, $callfile);
fclose($f);

// $asterisk_spool_folder is usually /var/spool/asterisk/outgoing
rename($callfilename, $asterisk_spool_folder .  "/" . substr($callfilename,4));

请在callfile页面上阅读为什么我们需要移动文件而不是直接在星号假脱机文件夹中打开和写入文件。