2016-01-27 30 views
1

我想設置爲第一個加入會議的用戶,我使用twilio-python doc來幫助我,但我沒有看到任何關於此的信息。Twilio會議審覈和參與者名稱

第一個參與者應該是主持人,以靜音,踢等另一個,但說實話我不知道這是否真的需要,所以我打開「不需要主持人這個」。

此外,我想知道與令牌相關的名稱是否在參與者爲了檢索它與這個而不是SID。 (什麼也沒看見在doc

這裏的服務器端代碼:

@app.route('/call', methods=['GET', 'POST']) 
def call(): 
    resp   = twilio.twiml.Response() 
    from_value  = request.values.get('From') 
    to    = request.values.get('To') 
    conferenceName = request.values.get('conferenceName') 

    account_sid  = os.environ.get("ACCOUNT_SID", ACCOUNT_SID) 
    auth_token  = os.environ.get("AUTH_TOKEN", AUTH_TOKEN) 
    app_sid   = os.environ.get("APP_SID", APP_SID) 
    clientTwilio = TwilioRestClient(account_sid, auth_token) 

elif to.startswith("conference:"): 
    # allows to user conference call 
    # client -> conference 
    conferencesList = client.conferences.list(friendly_name=conferenceName) 

    #there's no conference with the conferenceName so the first person should be the moderator and join it 
    if len(conferencesList) == 0 
     #do somestuff to set a moderator [...] 
     resp.dial(callerId=from_value).conference(to[11:]) 
    else: 
     #there's already a conference just join it 
     resp.dial(callerId=from_value).conference(to[11:]) 

和相關的令牌/客戶我想用檢索「名」參與者:

 //http://foo.herokuapp.com/token?client=someName" 
    self.phone = [[TCDevice alloc] initWithCapabilityToken:token delegate:self]; 
    NSDictionary *params = @{@"To": @"conference:foo"}; 
    self.connection = [self.phone connect:params delegate:self]; 
     [self closeNoddersView:nil]; 
    //the user is connected as participant in the conference, is it possible to retrieve it with the "someName" ? (server side route which take a "someName" in param) 

任何線索? :/

+0

任何twilio福音傳教士? –

回答

3

我找到了一個解決方法,使用的客戶端:名稱,無需主持人的

會議包含參與者的名單

參與者是關係到一個特定的呼叫

一個調用包含在並from_信息:客戶端:命名

@app.route('/conference_kick', methods=['GET', 'POST']) 
    def conference(): 
     client   = TwilioRestClient(account_sid, auth_token) 
     conferenceName = request.values.get('conferenceName') 
     participantName = request.values.get('participantName') 
     index   = 0 
     call   = "" 
     # A list of conference objects 
     conferencesList = client.conferences.list(status="in-progress",friendly_name=conferenceName) 
     if len(conferencesList) == 1: 
     if conferencesList[0].participants: 
      participants = conferencesList[0].participants.list() 
      while index < len(participants): 
      call  = client.calls.get(participants[index].call_sid) 
      array = call.from_.split(':') 
      if participantName == array[1]: 
       participants[index].kick() 
       return json.dumps({'code' : 200, 'success':1, 'message':participantName+' kicked'}) 
      index  += 1 
      return json.dumps({'code' : 101, 'success':0, 'message':participantName+' not found'}) 
     else: 
      return json.dumps({'code' : 102, 'success':0, 'message':'no participants'}) 
     else: 
     return json.dumps({'code' : 103, 'success':0, 'message':'no conference'})