среда, 19 августа 2015 г.

freeswitch arrays

В доке сказано, что можно делать массив так:
Appending to an ARRAY with PUSH
<action application="push" data"myvar,test A"/>
<action application="push" data"myvar,test B"/>
<action application="push" data"myvar,test C"/>

По факту, формат такой
<action application="push" data"myvar=test A"/>

Получить потом можно так
<action application="log" data="INFO ${myvar}"/>
и выглядеть оно будет примерно так
ARRAY::test X|:test Y|:test Z|:test A|:test B|:test C

Можно указать конкретный элемент:
<action application="set" data="myvar[0]=Test A"/>

Вариант добавления в начало, не проверялось, но скорее всего так:
<action application="unshift" data="myvar=test X"/>
(в офдоке снова через запятую, что вероятно неверно)

Есть через regex, тоже не проверялось
<action application="set" data="num=2121231234"/>
<action application="capture" data="myvar|${num}|(\d{3})(\d{3})(\d{4})"/>

Получать через
${myvar}, пример вывода выше
${myvar[2]}

пятница, 14 августа 2015 г.

dtmf - типы передачи

Бывает in-bound и out-of-bound, то есть в голосовом потоке (можно услышать ушами) или прочие методы.
Коротко

  1. in-bound, inbound
  2. out-of-bound
    1. rfc 2833, rtp-nte
    2. sip info
    3. sip notify
Подробнее