当前位置: 首页>>代码示例>>Python>>正文


Python Tropo.transfer方法代码示例

本文整理汇总了Python中tropo.Tropo.transfer方法的典型用法代码示例。如果您正苦于以下问题:Python Tropo.transfer方法的具体用法?Python Tropo.transfer怎么用?Python Tropo.transfer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tropo.Tropo的用法示例。


在下文中一共展示了Tropo.transfer方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: TropoCallback

# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import transfer [as 别名]
    def TropoCallback (rh):
        tropo = Tropo()

        # Get the session object sent by Tropo
        s = Session(rh.request.body)
        logging.info("session: %s " % rh.request.body)

        callerID = s.fromaddress['id']
        logging.info ("Caller ID: %s " % callerID)

        # Try to find a custom header we use in client app to pass a pal name
        if 'x-username' in s.headers:
            pal = s.headers['x-username']
            logging.info ("Pal : %s " % pal)

            # Find sid for this pal
            sipendpoint = ''
            user = TropoPals.get_record("1",pal)
            if user:
                sipendpoint = ':'.join(("sip", user.phonosid))

            logging.info ("sip endpoint: %s " % sipendpoint)
            if len(sipendpoint) != 0:
                tropo.transfer(sipendpoint)
                #tropo.say("User is found")
            else:
                tropo.say("User is not found")
        else:
            tropo.say("This is a purple application!")

        return tropo.RenderJson()
开发者ID:fimkap,项目名称:tropo-purple,代码行数:33,代码来源:tcb_logic.py

示例2: index

# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import transfer [as 别名]
def index(request):
    s = Session(request.body)
    t = Tropo()
    t.say ("One moment please.")
    t.transfer(TO_NUMBER, _from="tel:+" + FROM_NUMBER)
    t.say("Hi. I am a robot")
    json = t.RenderJson()
    print json
    return json
开发者ID:BSierakowski,项目名称:tropo-webapi-python,代码行数:11,代码来源:gh-14.test_transfer.py

示例3: index

# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import transfer [as 别名]
def index(request):
    t = Tropo()
    t.call("sip:[email protected]:5678", say = "ha ha ha ha ha ah ah ah ah")
    t.say("a b c d e f g h i j k")
    on = On("connect", say = "emily", next = "http://freewavesamples.com/files/Kawai-K5000W-AddSquare-C4.wav", post = "http://192.168.26.88:8080/FileUpload/receiveJson").json
    t.transfer(TO_NUMBER, _from= FROM_NUMBER, on=on, callbackUrl="http://192.168.26.88:8080/FileUpload/receiveJson", label="erthnbvc")
    t.say("Hi. I am a robot q a z w s x e d c")
    json = t.RenderJson()
    print json
    return json
开发者ID:tropo,项目名称:tropo-webapi-python,代码行数:12,代码来源:tropo_11270_transferTest.py

示例4: index

# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import transfer [as 别名]
def index(request):
    t = Tropo()
    t.call("sip:[email protected]:5678", say = "ha ha ha ha ha ah ah ah ah")
    t.say("ah ah ah ah ah uh uh uh uh ha ha ha")
    on1 = On("connect", ask = Ask(Choices("[5 DIGITS]")).json).json
    on2 = On("ring", say = "emily2").json
    t.transfer(TO_NUMBER, _from= FROM_NUMBER, on=[on1,on2], choices = TransferOnChoices(terminator = '#').json)
    t.say("Hi. I am a robot")
    json = t.RenderJson()
    print json
    return json
开发者ID:tropo,项目名称:tropo-webapi-python,代码行数:13,代码来源:tropo_11258_transferOnTest.py

示例5: index

# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import transfer [as 别名]
def index(request):

  s = Session(request.body)
  t = Tropo()

  t.say("Hello. , , , Transferring")
#  t.transfer(to="sip:[email protected]", headers={"x-callername":"Kevin Bond"})

  t.transfer(TO_NUMBER, headers={"x-callername":"Kevin Bond"})

  json = t.RenderJson()
  print json
  return json
开发者ID:BSierakowski,项目名称:tropo-webapi-python,代码行数:15,代码来源:gh-22.transfer.py

示例6: test_transfer

# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import transfer [as 别名]
    def test_transfer(self):
        """
        Test the "transfer" Tropo class method.
        """

        tropo = Tropo()
        tropo.say ("One moment please.")
        tropo.transfer(self.MY_PHONE)
        tropo.say("Hi. I am a robot")
        rendered = tropo.RenderJson()
        pretty_rendered = tropo.RenderJson(pretty=True)
        print "===============test_transfer================="
        print "render json: %s" % pretty_rendered

        # print "test_transfer: %s" % tropo.RenderJson()
        rendered_obj = jsonlib.loads(rendered)
        wanted_json = '{"tropo": [{"say": {"value": "One moment please."}}, {"transfer": {"to": "6021234567"}}, {"say": {"value": "Hi. I am a robot"}}]}'
        wanted_obj = jsonlib.loads(wanted_json)
        self.assertEqual(rendered_obj, wanted_obj)
开发者ID:JustinDupree,项目名称:tropo-webapi-python,代码行数:21,代码来源:test.py

示例7: MachineDetection

# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import transfer [as 别名]
mc = MachineDetection(introduction="THis is a CPA test", voice="Victor").json
t.call("+14071234321", machineDetection=mc)

#CPA with Boolean value which will detect CPA with 30 seconds of silence. 
t.call("+14071234321", machineDetection=True)


#Conference with join/leave prompts
jp = JoinPrompt(value="Someone just joined the conference", voice="Victor").json
lp = LeavePrompt(value="Someone just left the conference", voice="Victor").json
t.conference(id="1234", joinPrompt=jp, leavePrompt=lp)


whisper = {}

c = Choices(value="1", mode="dtmf")
ask = Ask(say="Press 1 to accept this call", choices=c).json
whisper["ask"] = ask

say = Say("You are now being connected to the call").json
whisper["say"] = say

say1 = Say("http://www.phono.com/audio/holdmusic.mp3").json
whisper["ring"] = say1

t.transfer(to="+14071234321", on=whisper)
t.on(event="incomplete", say="You are now being disconnected. Goodbye")

print t.RenderJson()

开发者ID:DJF3,项目名称:tropo-webapi-python,代码行数:31,代码来源:test1.py

示例8: CallResponse

# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import transfer [as 别名]
class CallResponse(object):
    '''
    A response to a request from a voip provider such as twilio or tropo.  
    Abstracts common verbs such as .say() and .ask() and .conference() and provides the appropriate command for the provider.
    '''
    
    def __init__(self, provider, *args, **kwargs):
        '''
        Takes a PhoneProvider object, sets the provider for this response to that provider.
        '''
        self.provider = provider
        if provider.name == "Twilio":
            self.response_object = twiml.Response()
        if provider.name == "Tropo":
            self.response_object = Tropo()
        super(CallResponse, self).__init__()
        
    def render(self):
        if self.provider.name == "Twilio":
            return HttpResponse(self.response_object, mimetype='text/xml')
        if self.provider.name == "Tropo":
            return HttpResponse(self.response_object.RenderJson(), mimetype='text/json')
    
    def say(self, *args, **kwargs):
        if self.provider.name == "Twilio":
            if kwargs['voice'] == 'Allison' or kwargs['voice'] == 'Susan' or kwargs['voice'] == 'Vanessa':
                kwargs['voice'] = 'woman'
            else:
                kwargs['voice'] = 'man'
            return self.response_object.addSay(*args, **kwargs)
        if self.provider.name == "Tropo":
            return self.response_object.say(*args, **kwargs)

    def transfer(self, *args, **kwargs):
        if self.provider.name == "Twilio":
            return self.response_object.addDial(*args, **kwargs)
        if self.provider.name == "Tropo":
            return self.response_object.transfer(*args, **kwargs)
        
    def conference(self, start_recording=False, *args, **kwargs):
        if self.provider.name == "Twilio":
            if start_recording:
                dial = self.response_object.addDial(record=True, action='%s/comm/recording_handler/call/%s/' % (resources.COMM_DOMAIN, kwargs['conference_id']))
            else:
                dial = self.response_object.addDial()
            startConferenceOnEnter = True if 'start_now' in kwargs and kwargs['start_now'] else False #Sometimes we want this joiner to start the conference.  Sometimes not.
            command = dial.addConference(kwargs['conference_id'], startConferenceOnEnter=startConferenceOnEnter)
            comm_logger.info('Telling Twilio: %s' % dial)
            return command
        if self.provider.name == "Tropo":
            self.response_object.on("hangup", next="/comm/handle_hangup/%s/%s/" % (kwargs['conference_id'], kwargs['number'].id))
            if 'record' in kwargs and kwargs['record']:
                self.response_object.startRecording('%s/comm/recording_handler/call/%s/' % (resources.COMM_DOMAIN, kwargs['conference_id']), format="audio/mp3")
            return self.response_object.conference(kwargs['conference_id'], allowSignals=['leaveConference',], *args, **kwargs)
    
    def conference_holding_pattern(self, conference_id, number_object, hold_music):
        '''
        Put someone on hold, perparing them for a conference.  During their hold, play the hold music.
        '''
        if self.provider.name == "Twilio":
            dial = self.response_object.addDial()
            reactor.callFromThread(twilio_deferred_voicemail_determination, conference_id, 30)
            return dial.addConference(conference_id)#TODO: waitUrl=hold_music)
         
        if self.provider.name == "Tropo":
            #First we add the hold music, allowing for the "exithold" signal to end it.
            self.response_object.say(hold_music, allowSignals=["joinConference", "goToVoiceMail", "incomplete"])
            self.response_object.on("hangup", next="/comm/handle_hangup/%s/%s/" % (conference_id, number_object.id))
            self.response_object.on('joinConference', next="/comm/simply_join_conference/%s/%s/" % (conference_id, number_object.id))
            self.response_object.on('goToVoiceMail', next="/comm/voicemail/")
            reactor.callFromThread(send_deferred_tropo_signal, conference_id, 'goToVoiceMail', 40) #How to test this?

    def join_and_begin_conference(self, conference_id, number, *args, **kwargs):
        '''
        Join the user to a conference that started with a holding pattern and begin the conference.
        '''
        comm_logger.info('%s is beginning conference %s', number, conference_id)
        conference_kwargs = {'conference_id':conference_id, 'number':number}
        if self.provider.name == "Twilio":
            conference_kwargs['start_now'] = True
        if self.provider.name == "Tropo":
            reactor.callFromThread(send_deferred_tropo_signal, conference_id, 'joinConference', 0)
            
        self.conference(start_recording=True, **conference_kwargs)
        return True #We can't know anything meaningful because we aren't going to wait around for the signal.
    
    def on(self, *args, **kwargs):
        if self.provider.name == "Twilio":
            raise NotImplementedError("Twilio does not offer an equivalent to Tropo's .on() method.")
        if self.provider.name == "Tropo":
            return self.response_object.on(*args, **kwargs)
        
    def call(self, *args, **kwargs):
        if self.provider.name == "Twilio":
            raise NotImplementedError("Twilio does not offer an equivalent to Tropo's .call() method.")
        if self.provider.name == "Tropo":
            if 'caller_id' in kwargs:
                kwargs['from'] = kwargs['caller_id'] #Why Tropo, do you think it's acceptable to use a python command (from) in your lib?
            return self.response_object.call(*args, **kwargs)
    
#.........这里部分代码省略.........
开发者ID:SlashRoot,项目名称:WHAT,代码行数:103,代码来源:response.py

示例9: Say

# 需要导入模块: from tropo import Tropo [as 别名]
# 或者: from tropo.Tropo import transfer [as 别名]
        tropo.ask("[5 digits]",
                  say = Say("Please enter a 5 digit zip code").json)

        tropo.call (TO)
        tropo.conference(ID)
        tropo.hangup()
        tropo.message ("Hello, World", TO)
        tropo.on(event="continue", 
             next="http://example.com/weather.py",
             say="Please hold.")

        tropo.record(say="Please say something for posterity", 
                     url=URL, 
                     choices = Choices("", terminator="#").json)
        tropo.redirect(ID)
        tropo.reject(ID)
        tropo.startRecording(URL)
        tropo.stopRecording()
        tropo.transfer(TO)

        tropo.message("Hello, World",
                      TO, 
                      channel='TEXT', 
                      network='SMS')

    else:
        unittest.main()


开发者ID:JustinDupree,项目名称:tropo-webapi-python,代码行数:29,代码来源:test.py


注:本文中的tropo.Tropo.transfer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。