Size: a a a

2020 March 23

h

halt in ru_freeswitch
может собрался FS криво... хотя вряд ли
источник

УП

Уасйа Пупкин in ru_freeswitch
Всем привет! Подскажите, как в lua получить все X-хэдэры? У меня есть входящий вызов, который обрабатывается луашным скриптом, в его INVITE есть всякие:
 X-Customer-ID
 X-Country
 X-Location
и какие-то другие, которые добавятся потом. Как мне вычитать все? Как я понимаю, session:getVariable("sip_h_X-Customer-ID") может вытаскивать только по одному. А как пробежаться по всем?
источник

АХ

Алексей Хабуляк in ru_freeswitch
Уасйа Пупкин
Всем привет! Подскажите, как в lua получить все X-хэдэры? У меня есть входящий вызов, который обрабатывается луашным скриптом, в его INVITE есть всякие:
 X-Customer-ID
 X-Country
 X-Location
и какие-то другие, которые добавятся потом. Как мне вычитать все? Как я понимаю, session:getVariable("sip_h_X-Customer-ID") может вытаскивать только по одному. А как пробежаться по всем?
дергнуть info и распарсить?
источник

АХ

Алексей Хабуляк in ru_freeswitch
Алексей Хабуляк
дергнуть info и распарсить?
можно не info. можно uuid_dump сделать. и тоже распарсить
источник

УП

Уасйа Пупкин in ru_freeswitch
Алексей Хабуляк
дергнуть info и распарсить?
local iSession = freeswitch.Session(argv[1])
iSession:info()

Вот так? Ругается:
attempt to call method 'info' (a nil value)
источник

АХ

Алексей Хабуляк in ru_freeswitch
Уасйа Пупкин
local iSession = freeswitch.Session(argv[1])
iSession:info()

Вот так? Ругается:
attempt to call method 'info' (a nil value)
Нет. Нужно либо execute, либо через freeswitch.API сделать uuid_dump
источник

УП

Уасйа Пупкин in ru_freeswitch
Спасибо! Так получилось:
local api = freeswitch.API()
api:execute("uuid_dump", argv[1])
источник

AA

Alex Alex in ru_freeswitch
Коллеги, добрый день!
Посоветуйте пожалуйста как в сидиары вывести статистику по принятым/отправленным пакетам RTP ?
сходу прописал "${sip_rtp_rxstat}","${sip_rtp_txstat}" а они стабильно пустые ("","") даже на звонках с хорошими длительностями.  Может сбор такой статистики надо еще где-то включить/разрешить?
источник

АХ

Алексей Хабуляк in ru_freeswitch
Alex Alex
Коллеги, добрый день!
Посоветуйте пожалуйста как в сидиары вывести статистику по принятым/отправленным пакетам RTP ?
сходу прописал "${sip_rtp_rxstat}","${sip_rtp_txstat}" а они стабильно пустые ("","") даже на звонках с хорошими длительностями.  Может сбор такой статистики надо еще где-то включить/разрешить?
а чем вы сохраняете?
в json_cdr пишется
 "callStats": {
   "audio": {
     "inbound": {
       "raw_bytes": 28080,
       "media_bytes": 28080,
       "packet_count": 468,
       "media_packet_count": 468,
       "skip_packet_count": 8,
       "jitter_packet_count": 0,
       "dtmf_packet_count": 0,
       "cng_packet_count": 0,
       "flush_packet_count": 0,
       "largest_jb_size": 0,
       "jitter_min_variance": 0.333333,
       "jitter_max_variance": 265.6,
       "jitter_loss_rate": 0,
       "jitter_burst_rate": 0,
       "mean_interval": 20.044743,
       "flaw_total": 0,
       "quality_percentage": 100,
       "mos": 4.5
     },
     "outbound": {
       "raw_bytes": 29220,
       "media_bytes": 29220,
       "packet_count": 412,
       "media_packet_count": 412,
       "skip_packet_count": 0,
       "dtmf_packet_count": 0,
       "cng_packet_count": 0,
       "rtcp_packet_count": 459,
       "rtcp_octet_count": 22032
     }
   }
 },
источник

AA

Alex Alex in ru_freeswitch
Алексей Хабуляк
а чем вы сохраняете?
в json_cdr пишется
 "callStats": {
   "audio": {
     "inbound": {
       "raw_bytes": 28080,
       "media_bytes": 28080,
       "packet_count": 468,
       "media_packet_count": 468,
       "skip_packet_count": 8,
       "jitter_packet_count": 0,
       "dtmf_packet_count": 0,
       "cng_packet_count": 0,
       "flush_packet_count": 0,
       "largest_jb_size": 0,
       "jitter_min_variance": 0.333333,
       "jitter_max_variance": 265.6,
       "jitter_loss_rate": 0,
       "jitter_burst_rate": 0,
       "mean_interval": 20.044743,
       "flaw_total": 0,
       "quality_percentage": 100,
       "mos": 4.5
     },
     "outbound": {
       "raw_bytes": 29220,
       "media_bytes": 29220,
       "packet_count": 412,
       "media_packet_count": 412,
       "skip_packet_count": 0,
       "dtmf_packet_count": 0,
       "cng_packet_count": 0,
       "rtcp_packet_count": 459,
       "rtcp_octet_count": 22032
     }
   }
 },
у меня в обычный CSV прописано в cdr_csv.conf.xml
<configuration name="cdr_csv.conf" description="CDR CSV Format">

т.е. сохраняю через mod_cdr_csv
источник

YG

Yuriy Gorlichenko in ru_freeswitch
Уасйа Пупкин
Всем привет! Подскажите, как в lua получить все X-хэдэры? У меня есть входящий вызов, который обрабатывается луашным скриптом, в его INVITE есть всякие:
 X-Customer-ID
 X-Country
 X-Location
и какие-то другие, которые добавятся потом. Как мне вычитать все? Как я понимаю, session:getVariable("sip_h_X-Customer-ID") может вытаскивать только по одному. А как пробежаться по всем?
Если у вас хедеры известны заранее - опишите их в массиве и вытащите через pairs

Headers = { "x-header1","x-header2"}
Result ={}
for k,v in ipairs(headers) do
Result[v] = session:getVariable("sip_h_"..v)
End
источник

АХ

Алексей Хабуляк in ru_freeswitch
Alex Alex
у меня в обычный CSV прописано в cdr_csv.conf.xml
<configuration name="cdr_csv.conf" description="CDR CSV Format">

т.е. сохраняю через mod_cdr_csv
   "rtp_audio_in_raw_bytes": "28080",
   "rtp_audio_in_media_bytes": "28080",
   "rtp_audio_in_packet_count": "468",
   "rtp_audio_in_media_packet_count": "468",
   "rtp_audio_in_skip_packet_count": "8",
   "rtp_audio_in_jitter_packet_count": "0",
   "rtp_audio_in_dtmf_packet_count": "0",
   "rtp_audio_in_cng_packet_count": "0",
   "rtp_audio_in_flush_packet_count": "0",
   "rtp_audio_in_largest_jb_size": "0",
   "rtp_audio_in_jitter_min_variance": "0.33",
   "rtp_audio_in_jitter_max_variance": "265.60",
   "rtp_audio_in_jitter_loss_rate": "0.00",
   "rtp_audio_in_jitter_burst_rate": "0.00",
   "rtp_audio_in_mean_interval": "20.04",
   "rtp_audio_in_flaw_total": "0",
   "rtp_audio_in_quality_percentage": "100.00",
   "rtp_audio_in_mos": "4.50",
   "rtp_audio_out_raw_bytes": "29220",
   "rtp_audio_out_media_bytes": "29220",
   "rtp_audio_out_packet_count": "412",
   "rtp_audio_out_media_packet_count": "412",
   "rtp_audio_out_skip_packet_count": "0",
   "rtp_audio_out_dtmf_packet_count": "0",
   "rtp_audio_out_cng_packet_count": "0",
   "rtp_audio_rtcp_packet_count": "459",
   "rtp_audio_rtcp_octet_count": "22032"
источник

АХ

Алексей Хабуляк in ru_freeswitch
попробуйте что-то из этого
источник

АХ

Алексей Хабуляк in ru_freeswitch
у меня такие variables есть
источник

AA

Alex Alex in ru_freeswitch
Алексей Хабуляк
   "rtp_audio_in_raw_bytes": "28080",
   "rtp_audio_in_media_bytes": "28080",
   "rtp_audio_in_packet_count": "468",
   "rtp_audio_in_media_packet_count": "468",
   "rtp_audio_in_skip_packet_count": "8",
   "rtp_audio_in_jitter_packet_count": "0",
   "rtp_audio_in_dtmf_packet_count": "0",
   "rtp_audio_in_cng_packet_count": "0",
   "rtp_audio_in_flush_packet_count": "0",
   "rtp_audio_in_largest_jb_size": "0",
   "rtp_audio_in_jitter_min_variance": "0.33",
   "rtp_audio_in_jitter_max_variance": "265.60",
   "rtp_audio_in_jitter_loss_rate": "0.00",
   "rtp_audio_in_jitter_burst_rate": "0.00",
   "rtp_audio_in_mean_interval": "20.04",
   "rtp_audio_in_flaw_total": "0",
   "rtp_audio_in_quality_percentage": "100.00",
   "rtp_audio_in_mos": "4.50",
   "rtp_audio_out_raw_bytes": "29220",
   "rtp_audio_out_media_bytes": "29220",
   "rtp_audio_out_packet_count": "412",
   "rtp_audio_out_media_packet_count": "412",
   "rtp_audio_out_skip_packet_count": "0",
   "rtp_audio_out_dtmf_packet_count": "0",
   "rtp_audio_out_cng_packet_count": "0",
   "rtp_audio_rtcp_packet_count": "459",
   "rtp_audio_rtcp_octet_count": "22032"
спасибо пробую
источник

УП

Уасйа Пупкин in ru_freeswitch
Yuriy Gorlichenko
Если у вас хедеры известны заранее - опишите их в массиве и вытащите через pairs

Headers = { "x-header1","x-header2"}
Result ={}
for k,v in ipairs(headers) do
Result[v] = session:getVariable("sip_h_"..v)
End
Проблема как раз в том, что неизвестны
источник

AA

Alex Alex in ru_freeswitch
Алексей Хабуляк
   "rtp_audio_in_raw_bytes": "28080",
   "rtp_audio_in_media_bytes": "28080",
   "rtp_audio_in_packet_count": "468",
   "rtp_audio_in_media_packet_count": "468",
   "rtp_audio_in_skip_packet_count": "8",
   "rtp_audio_in_jitter_packet_count": "0",
   "rtp_audio_in_dtmf_packet_count": "0",
   "rtp_audio_in_cng_packet_count": "0",
   "rtp_audio_in_flush_packet_count": "0",
   "rtp_audio_in_largest_jb_size": "0",
   "rtp_audio_in_jitter_min_variance": "0.33",
   "rtp_audio_in_jitter_max_variance": "265.60",
   "rtp_audio_in_jitter_loss_rate": "0.00",
   "rtp_audio_in_jitter_burst_rate": "0.00",
   "rtp_audio_in_mean_interval": "20.04",
   "rtp_audio_in_flaw_total": "0",
   "rtp_audio_in_quality_percentage": "100.00",
   "rtp_audio_in_mos": "4.50",
   "rtp_audio_out_raw_bytes": "29220",
   "rtp_audio_out_media_bytes": "29220",
   "rtp_audio_out_packet_count": "412",
   "rtp_audio_out_media_packet_count": "412",
   "rtp_audio_out_skip_packet_count": "0",
   "rtp_audio_out_dtmf_packet_count": "0",
   "rtp_audio_out_cng_packet_count": "0",
   "rtp_audio_rtcp_packet_count": "459",
   "rtp_audio_rtcp_octet_count": "22032"
еще раз огромное спасибо! rtp_audio_in_raw_bytes  уже с данными
источник

АХ

Алексей Хабуляк in ru_freeswitch
Alex Alex
еще раз огромное спасибо! rtp_audio_in_raw_bytes  уже с данными
👍
источник
2020 March 24

PZ

Pavel Z in ru_freeswitch
Кто может подсказать по fusion? Не вижу возможности записи и входящих и исходящих внешней линии на внутреннем номере. Только отдельно локальные, исходящая, входящая или все.  Это отдельная фича?
источник

SG

S G in ru_freeswitch
в настройках экстеншена
источник