有没有办法我们可以拨打两个号码并让他们加入会议

时间:2015-04-27 18:53:44

标签: twilio twilio-php

我是Twilio的新手。是否可以拨打两个电话号码并使用Twilio-PHP将它们加入会议?我知道我们可以将两个已接到的电话加入会议,我想知道我们是否可以通过两个拨打的电话进行相同的操作。如果是的话,如果有人将我的文件部分提交给我,我将不胜感激 在此先感谢。

1 个答案:

答案 0 :(得分:3)

Twilio开发者传道者在这里。

你绝对可以做到这一点。当您从Twilio内部发起呼叫时,您会传递三个参数,即您正在呼叫的号码,您正在呼叫的号码和一个URL。该URL应指向某些TwiML,您可以像接收呼叫时那样使用它。当外出呼叫在Twilio查看URL时回答,以了解如何处理呼叫。

所以,这是一个例子,假设您需要Twilio PHP库并设置相关变量:

Expression<Func<DateTime, DateTime, bool>> ymdCompareLess = (v1, v2) => v1.Day <= v2.Day && v1.Month <= v2.Month && v1.Year <= v2.Year;
Expression<Func<DateTime, DateTime, bool>> ymdCompareGreater = (v1, v2) => v1.Day >= v2.Day && v1.Month >= v2.Month && v1.Year >= v2.Year;

public IQueryable<T> SetDateCompare<T>(IQueryable<T> OriginalQuery, Expression<Func<T, DateTime>> QueryProperty, DateTime ComparisonDate, bool isGreaterThan = true)
        where T : class
{
    LambdaExpression comparisonExpression = isGreaterThan ? ymdCompareGreater : ymdCompareLess;

    var replaceVisitor = new ReplaceVisitor(
        comparisonExpression.Parameters.ToArray(),
        new[] { QueryProperty.Body, Expression.Constant(ComparisonDate) }
        );

    var whereBody = replaceVisitor.Visit(comparisonExpression.Body);

    var whereClause = Expression.Lambda<Func<T, bool>>(whereBody, QueryProperty.Parameters);

    return OriginalQuery.Where(whereClause);
}

private class ReplaceVisitor : ExpressionVisitor
{
    Expression[] _from;
    Expression[] _to;
    public ReplaceVisitor(Expression[] from, Expression[] to)
    {
        this._from = from;
        this._to = to;
    }

    public override Expression Visit(Expression node)
    {
        var idx = Array.IndexOf(_from, node);

        if (idx > -1)
        {
            return _to[idx];
        }
        return base.Visit(node);
    }
}

然后,在您的URL上,在本例中为example.com/conference,您只需要返回一些TwiML即可进入被召入会议的人员。所以,你需要一个看起来像这样的conference.php文件:

// Make an API client
$client = new Services_Twilio($sid, $token, $version);

// Use the API client to create an outbound call
$call = $client->account->calls->create(
  $to,
  $from,
  'http://example.com/conference.php'
);

让我知道这是否有帮助。