создать конференцию из python esl

Я хочу настроить конференц-связь, начиная с программы ESL.

В моем скрипте Python я вызываю первый номер:

freeswitchcon.api("originate","sofia/gateway/MySIP/91XXXXXXXXXX+" &conference(9099)"

тогда я звоню по другому номеру:

freeswitchcon.bgapi("originate","sofia/gateway/MySIP/91XXXXXXXXXX+" &conference(radioHealth_${strftime(%Y-%m-%d)}+flags{mute})"

Мои диалпланы:

<extension name="conf_demo">
<condition field="destination_number" expression="^9099$">
<action application="conference" data="radioHealth_${strftime(%Y-%m-%d)}+flags{endconf}"/>
</condition>

<extension name="conf_demo">
<condition field="destination_number" expression="^9098$">
<action application="conference" data="radioHealth_${strftime(%Y-%m-%d)}+flags{mute}"/>
</condition>

Мне звонят на первый номер, а на второй нет. Журналы Freeswitch:

2016-04-18 05:37:26.417807 [NOTICE] switch_channel.c:1055 New Channel sofia/external/91XXXXXXXXXX [a22ea00c-0527-11e6-86df-415bf8be0d99]
2016-04-18 05:37:26.777867 [NOTICE] sofia.c:7539 Hangup sofia/external/91XXXXXXXXXX [CS_CONSUME_MEDIA] [CALL_REJECTED]
2016-04-18 05:37:26.777867 [NOTICE] switch_core_session.c:1641 Session 24 (sofia/external/91XXXXXXXXXX) Ended
2016-04-18 05:37:26.777867 [NOTICE] switch_core_session.c:1645 Close Channel sofia/external/91XXXXXXXXXX [CS_DESTROY]

Любое руководство будет оценено


person Deepika Yadav    schedule 18.04.2016    source источник


Ответы (1)


Я понимаю, что это с опозданием на пару лет, но я заметил, что вы вызываете обычный API в своей первой исходной команде:

freeswitchcon.api("originate","sofia/gateway/MySIP/91XXXXXXXXXX+" &conference(9099)"

Это означает, что первый вызов будет инициирован, но затем python будет ждать возврата этого вызова (т. е. когда он повесил трубку), прежде чем продолжить.

Если вы используете freeswitchcon.bgapi, как во втором вызове, то вызов будет инициирован в фоновом режиме, и python не будет ждать завершения вызова, прежде чем продолжить.

person 3G Telecoms    schedule 23.10.2018