Freeswitch: Как определить, был ли ответ на звонок при перевороте входящего и исходящего звонка?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Freeswitch: Как определить, был ли ответ на звонок при перевороте входящего и исходящего звонка?

Сообщение Anonymous »

В этой реализации я пытаюсь выполнить исправление вызова между входящим вызовом и исходящим вызовом через Session.bridge () < /code> команда. В этом скрипте я пытаюсь исправить разводчик с номерами в number_list (список номеров) < /code> один за другим, пока список не будет исчерпан или до тех пор, пока вызов не будет исправлен и не ответил.for cp_num in connObj.cp_list:
ivr_log.debug("Attempting to dial Call Patch Number:%s"%(cp_num['cp_no']))
connObj.patch_uuid = uuid.uuid1()
cmd_str = """{ignore_early_media=true,execute_on_answer=record_session %s/%s_%s.wav,origination_uuid=%s,originate_timeout=45,script_name=gaadi_test}freetdm/wp4/a/%s"""%(connObj.recording_path,connObj.uuid,connObj.caller_id,connObj.patch_uuid,cp_num['cp_no'])
connObj.bridge(cmd_str) #BRIDGE
connObj.hangup_cause = connObj.getVar("last_bridge_hangup_cause")
if connObj.hangup_cause in ['NORMAL_CLEARING', '']:
connObj.cp_status = "SUCCESS"
return True
connObj.cp_status = "FAILED"
connObj.playback(connObj.path_sound + 'all_reps_busy.wav')
return False
< /code>

Несколько чисел в команде Bridge для последовательного набора.bridge [|]
< /code>

Моя реализация < /p>

cmd1 = """{ignore_early_media=true,originate_timeout=45}[origination_uuid=%s,script_name=gaadi_test]freetdm/wp4/a/%s"""%(connObj.patch_uuid1,connObj.cp_list[0]['cp_no'])
cmd2 = """[origination_uuid=%s,script_name=gaadi_test]freetdm/wp4/a/%s"""%(connObj.patch_uuid2,connObj.cp_list[1]['cp_no'])
cmd = "%s[|%s]"%(cmd3,cmd4)
ivr_log.debug("CMD=%s"%(cmd))
connObj.call_patch_start_time = int(time.time())
connObj.patch_start_datetime = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
connObj.bridge(cmd)
< /code>

p.s.: connobj.bridge (cmd) идеально подходит только для одной целевой точки. Я не подтвердил, если для обоих вызовов будет отличаться. < /P>

cmd1 = """{ignore_early_media=true,originate_timeout=45,script_name=gaadi_test}[origination_uuid=%s]freetdm/wp4/a/%s"""%(connObj.patch_uuid1,connObj.cp_list[0]['cp_no'])
cmd2 = """[origination_uuid=%s]freetdm/wp4/a/%s"""%(connObj.patch_uuid2,connObj.cp_list[1]['cp_no'])
cmd="%s|%s" #removed the brackets and its working now.
connObj.bridge(cmd)
< /code>

edit: < /p>

Наконец -то я решил проблему с подходом Станислава. Я использовал api_on_answer. В ответе я написал файл на диске, а затем проверил, присутствовал ли файл или нет. Если файл присутствовал, то на звонок был ответ.

Подробнее здесь: https://stackoverflow.com/questions/339 ... ound-and-o
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема регистрации входящего и исходящего трафика WebClient
    Anonymous » » в форуме JAVA
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Почему сбор входящего и исходящего звука приводит к искажению звука?
    Гость » » в форуме Python
    0 Ответы
    66 Просмотры
    Последнее сообщение Гость
  • Как может перекрываться время звонка, отображаемое на телефоне, и время звонка, снятое с порта RS232 коммутатора Panason
    Anonymous » » в форуме C#
    0 Ответы
    74 Просмотры
    Последнее сообщение Anonymous
  • Как получить номер входящего звонка с помощью API CallScreeningService
    Anonymous » » в форуме JAVA
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous
  • Как получить номер входящего звонка с помощью API CallScreeningService
    Anonymous » » в форуме Android
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»