AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Проблема с chan_sip, растет кол-во сокетов

Asterisk IP PBX 35 сообщений 06.10.2011 11:24 - 14.10.2011 00:40
#1

Ранее использовал 1.4.29 проблему решал выгрузкой chan_sip и его обратной загрузкой в момент бездействия этого драйвера.
Установил 1.4.42 думал проблема решится, а нет все также увеличивается кол-во открытых сокетов.

Подскажите куда копать и как это можно вылечить в рамках использования ветки 1.4 и работоспособным attended transfer.
#2

странно это все а вообще компиляция с отладкой и смотреть что да как
_________________
нанотехнолигии в области Asterisk
#3

помоему сечас нормальная практика, найми чувака который тебе пофисит все, с сокетами
или с трансферами на 1.8 ветке - раз он у тебя не работает
#4

Нужен еще факс гетвей, нравится безпроблемная работа с патчем от attrafax, потому и сижу на 1.4
#5

процитирую пожалуй предыдущее сообщение
Цитата:
помоему сечас нормальная практика, найми чувака который тебе пофисит все
#6

ddkprog, прошу в дальнейшем свои советы в моих темах держать при себе.
#7

я не понял, а какого ответа вы вообще хотите? кто то бесплатно прийдет и вам все пофиксит?
так для этого есть баг трекер, идете сабмитите баг, и ждете результат
либо нанимаете программиста в штат, и он вам постоянно все фиксит
а на халаву все получать.. уж как то не современно
#8

ddkprog, вы знаете как решить эту проблему? сколько денег хотите? в следующий раз если так агрессивно рекламируете себя в основном форуме то хоть будьте более конкретным, а то уже второй пост с рекламой комерческих услуг а не понятно что конкретно вы предлагаете (факс сделаете человеку на 1.8? и проблему с сокетами решите?) и сколько это будет стоить... если же это не самореклама то зачем так агрессивно настаивать на своём? как по мне то достаточно было скромно отписаться типа "решу вашу проблему на комерческой основе" и всё.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#9

интересно где это я себя в этом топике рекламировал??
#10

А вы всегда отвечаете вопросом на вопрос? Wink впрочем я уже понял, думаю смысла мало продолжать флудить тут, поэтому вопросов больше не имею.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#11

Alex_asdf
Изменение опций sip session timers в sip.conf пробовали делать?
#12

Пока отключил все RTP таймауты, большего ветка 1.4 пока не дает.

2 Obi Van
думаю речь шла о них же, но более полно они представлены с версии 1.6
#13

Включил дебуг и зафиксировал следующее :
Код:
[2011-09-28 15:11:42] DEBUG[4468] channel.c: Hanging up channel 'SIP/ast-dup-0000046e'
[2011-09-28 15:11:43] DEBUG[4468] chan_sip.c: Hangup call SIP/ast-dup-0000046e, SIP callid 30895dae172ea0ef749dad540bf59a47@1.2.2.26)

однако по какой-то причине канал не закрылся и в логах видны
Код:
[2011-09-28 15:37:07] DEBUG[27887] chan_sip.c: = No match Their Call ID: 30895dae172ea0ef749dad540bf59a47@1.2.2.26 Their Tag as76ce3859 Our tag: as3517aa17

sip show channel 30895dae172ea0ef749dad540bf59a47@1.2.2.26 показывает
Код:
* SIP Call
Curr. trans. direction: Outgoing
Call-ID: 30895dae172ea0ef749dad540bf59a47@1.2.2.26
Owner channel ID:
Our Codec Capability: 268
Non-Codec Capability (DTMF): 1
Their Codec Capability: 268
Joint Codec Capability: 268
Format: 0x0 (nothing)
MaxCallBR: 384 kbps
Theoretical Address: 1.2.2.27:5060
Received Address: 1.2.2.27:5060
SIP Transfer mode: closed
NAT Support: Always
Audio IP: 1.2.2.26 (local)
Our Tag: as3517aa17
Their Tag: as76ce3859
Username: SIP/port_line1
Peername: ast-dup
Original uri: sip:SIP/port_line1@1.2.2.27
Need Destroy: 0
Last Message: Tx: INVITE
Promiscuous Redir: No
Route: sip:SIP/port_line1@1.2.2.27
DTMF Mode: rfc2833
SIP Options: (none)

в чем может быть причина ?
#14

Цитата:
в чем может быть причина ?

Очевидно в несрабатывании таймеров сессии. Делали и просматривали дамп между устройством и астериском? Если потом дамп посмотреть в wireshark, то это может прояснить ситуацию. Насколько я помню у меня на 1.4 также наблюдались подобные проблемы. Эта проблема в частности решилась после обновления до какой-то версии (уже не упомню). Так или иначе подтолкнула меня на миграцию в ветку 1.6, а затем и 1.8. Вам рискну посоветовать следующее. Сперва необходимо понять есть ли вина астериска в зависании сессий. А потом взвесить все преимущества от устаревшей ветки 1.4, приготовиться к миграции на 1.8. Я собственно говоря не пойму чего такого нет или нестабильно работает в версии 1.8 нежели в 1.4? Shocked С факсами были проведены большие объёмы работ затронувшие не один файл исходников. Совершенно стабилен res_fax и res_fax_dsp. Есть патч реализующий трансляцию T.38/SIP в T.30 аналоговый. Есть возможности работы с GSM модемами. Что и говорить, если на подходе версия 1.10. Cool
#15

Собственно ast-dup это другой астериск к которому уже подключено устройство. К сожалению записывать трафик между ними я не подумал.

PS Мне интересно то, что та же версия астериска, только собранная и работающая на другом ядре работает без проблемно.
#16

Поставил 1.8 с патчем, sip(g729,t.38 ) - pri (t.30) вроде как работает, на сколько стабильно время покажет, так же как и появление "мертвых" каналов. Разбирательство с 1.4 пока отложил.
#17

Что за патч? Укажите ссылку если не сложно.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#18

anest
Как я полагаю имеется в виду патч реализующий гейтвей между SIP/T.38 - PRI. Вот он и патч.
#19

я вижу там несколько патчей. какой конкретно ставил топикстартер?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#20

Ссылка
Цитата:
faxgateway-1.8.patch2 [^] (84,979 bytes) 2011-06-03 08:28 [wget patch] [License OK (v3.0)]
#21

спасибо
комуто может еще пригодится тоже

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#22

Obi Van писал(а):
Я собственно говоря не пойму чего такого нет или нестабильно работает в версии 1.8 нежели в 1.4?
Как оказалось или т.38 гейт или attended transfer...
#23

Alex_asdf
Эта ссылка ведёт на старый багтреккер. Там же сверху сайта написано:
Цитата:
issues.asterisk.org has been migrated from Mantis to JIRA. Mantis is temporarily still available, but it is read-only. The new issue tracker can be located at https://issues.asterisk.org/jira/.

Я и дал ссылку уже на новый.
#24

На новом нету ссылки на нужный патч

Added after 51 minutes:

Проблема с незакрытыми каналами осталась и на версии 1.8.7
Цитата:
1.2.2.27 SIP^port_l 418a2921459fd18 0x0 (nothing) No Tx: INVITE ast-dup

Цитата:
* SIP Call
Curr. trans. direction: Outgoing
Call-ID: 418a2921459fd182490793777ab93ab0@1.2.2.26:5060
Owner channel ID:
Our Codec Capability: 0x10c (ulaw|alaw|g729)
Non-Codec Capability (DTMF): 1
Their Codec Capability: 0x10c (ulaw|alaw|g729)
Joint Codec Capability: 0x10c (ulaw|alaw|g729)
Format: 0x0 (nothing)
T.38 support Yes
Video support No
MaxCallBR: 384 kbps
Theoretical Address: 1.2.2.27:5060
Received Address: 1.2.2.27:5060
SIP Transfer mode: closed
Force rport: No
Audio IP: 1.2.2.26 (local)
Our Tag: as2d62963c
Their Tag: as5cc93517
Username: SIP^port_line1
Peername: ast-dup
Original uri: sip:SIP^port_line1@1.2.2.27
Need Destroy: No
Last Message: Tx: INVITE
Promiscuous Redir: No
Route: sip:SIP^port_line1@1.2.2.27
DTMF Mode: rfc2833
SIP Options: (none)
Session-Timer: Inactive

Session-Timer установлены, на живых каналах это видно
Цитата:
* SIP Call
Curr. trans. direction: Outgoing
Call-ID: 212797cf6b2f6089032eaa3e6c5dd9a1@1.2.2.26:5060
Owner channel ID: SIP/ast-dup-00000095
Our Codec Capability: 0x10c (ulaw|alaw|g729)
Non-Codec Capability (DTMF): 1
Their Codec Capability: 0x10c (ulaw|alaw|g729)
Joint Codec Capability: 0x10c (ulaw|alaw|g729)
Format: 0x8 (alaw)
T.38 support Yes
Video support No
MaxCallBR: 384 kbps
Theoretical Address: 1.2.2.27:5060
Received Address: 1.2.2.27:5060
SIP Transfer mode: closed
Force rport: No
Audio IP: 1.2.2.26 (local)
Our Tag: as04b40779
Their Tag: as3f651eac
Username: SIP^nika_line3
Peername: ast-dup
Original uri: sip:SIP^nika_line3@1.2.2.27
Need Destroy: No
Last Message: Tx: ACK
Promiscuous Redir: No
Route: sip:SIP^nika_line3@1.2.2.27
DTMF Mode: rfc2833
SIP Options: (none)
Session-Timer: Active
S-Timer Interval: 600
S-Timer Refresher: uac
S-Timer Expirys: 0
S-Timer Sched Id: 9918
S-Timer Peer Sts: Inactive
S-Timer Cached Min-SE: 90
S-Timer Cached SE: 600
S-Timer Cached Ref: auto
S-Timer Cached Mode: Originate


в логах по '418a2921459fd182490793777ab93ab0' вижу
Цитата:
[2011-10-05 08:30:02] DEBUG[10122] chan_sip.c: Initializing initreq for method INVITE - callid 418a2921459fd182490793777ab93ab0@1.2.2.26:5060
[2011-10-05 08:30:02] DEBUG[22337] chan_sip.c: Stopping retransmission on '418a2921459fd182490793777ab93ab0@1.2.2.26:5060' of Request 102: Match Found
[2011-10-05 08:30:02] DEBUG[22337] chan_sip.c: (Provisional) Stopping retransmission (but retaining packet) on '418a2921459fd182490793777ab93ab0@1.2.2.26:5060' Request 103: Found
[2011-10-05 08:30:02] DEBUG[22337] chan_sip.c: (Provisional) Stopping retransmission (but retaining packet) on '418a2921459fd182490793777ab93ab0@1.2.2.26:5060' Request 103: Found
[2011-10-05 08:30:22] DEBUG[22337] chan_sip.c: Stopping retransmission on '418a2921459fd182490793777ab93ab0@1.2.2.26:5060' of Request 103: Match Found
[2011-10-05 08:30:22] DEBUG[22337] chan_sip.c: Session timer started: 9019 - 418a2921459fd182490793777ab93ab0@1.2.2.26:5060
[2011-10-05 08:30:27] DEBUG[10122] chan_sip.c: Initializing already initialized SIP dialog 418a2921459fd182490793777ab93ab0@1.2.2.26:5060 (presumably reinvite)
[2011-10-05 08:30:27] DEBUG[22337] chan_sip.c: (Provisional) Stopping retransmission (but retaining packet) on '418a2921459fd182490793777ab93ab0@1.2.2.26:5060' Request 104: Found
[2011-10-05 08:30:29] DEBUG[10122] chan_sip.c: Session timer stopped: 9019 - 418a2921459fd182490793777ab93ab0@1.2.2.26:5060


Obi Van
видел что подобная проблема была с сообщениями PUBLISH, интересно можно этот патч адаптировать под INVITE, хотя вроде как и так должно работать.
#25

Alex_asdf
Всё ж таки проблема с зависанием сессий наблюдаться не должна. У меня такого нет. Shocked
#26

выдернуто из описания к торент клиенту
Цитата:
* needs large kernel buffers for
* the UDP socket. You can append following lines into /etc/sysctl.conf:
* net.core.rmem_max = 4194304
* net.core.wmem_max = 1048576
* and run sysctl -p

в принципе астериск можно сравнить с торент клиентом так как оба активно пользуют udp сокеты.
попробуйте совет может кому поможет.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#27

anest писал(а):
... canreinvite
...


уже давно как заменен(переименован) на directmedia Smile
ну так для справки где-то с версии 1.6.2 что ли

_________________
нанотехнолигии в области Asterisk
#28

Не знаю про 1.6 (никогда не юзал), у меня на последних 1.8 все еще работает.
Но за справку спасибо.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#29 06.10.2011 11:24

Еще несколько появилось, вот один из них
Цитата:
DEBUG[21249] chan_sip.c: Initializing initreq for method INVITE - callid 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060

DEBUG[29332] chan_sip.c: = Looking for Call ID: 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060 (Checking To) --From tag as323ff68b --To-tag as7e658876
DEBUG[29332] chan_sip.c: Stopping retransmission on '6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060' of Request 102: Match Found
DEBUG[29332] chan_sip.c: = Looking for Call ID: 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060 (Checking To) --From tag as323ff68b --To-tag
DEBUG[29332] chan_sip.c: (Provisional) Stopping retransmission (but retaining packet) on '6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060' Request 103: Found
DEBUG[29332] chan_sip.c: = Looking for Call ID: 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060 (Checking To) --From tag as323ff68b --To-tag as244396a6
DEBUG[29332] chan_sip.c: (Provisional) Stopping retransmission (but retaining packet) on '6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060' Request 103: Found
DEBUG[29332] chan_sip.c: = Looking for Call ID: 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060 (Checking To) --From tag as323ff68b --To-tag as244396a6
DEBUG[29332] chan_sip.c: Stopping retransmission on '6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060' of Request 103: Match Found

DEBUG[29332] chan_sip.c: Session timer started: 27350 - 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060
DEBUG[21249] chan_sip.c: Initializing already initialized SIP dialog 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060 (presumably reinvite)
DEBUG[29332] chan_sip.c: = Looking for Call ID: 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060 (Checking To) --From tag as323ff68b --To-tag as244396a6
DEBUG[29332] chan_sip.c: (Provisional) Stopping retransmission (but retaining packet) on '6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060' Request 104: Found
DEBUG[29332] chan_sip.c: SIP response 100 to RE-invite on outgoing call 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060
DEBUG[21249] chan_sip.c: Session timer stopped: 27350 - 6bcf15cb3a8bbd87424edae547efcc25@1.2.2.26:5060

а вот пример нормально убитого канала
Цитата:
DEBUG[31216] chan_sip.c: Initializing initreq for method INVITE - callid 6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060

DEBUG[29332] chan_sip.c: = Looking for Call ID: 6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060 (Checking To) --From tag as0c00e174 --To-tag as513e0894
DEBUG[29332] chan_sip.c: Stopping retransmission on '6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060' of Request 102: Match Found
DEBUG[29332] chan_sip.c: = Looking for Call ID: 6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060 (Checking To) --From tag as0c00e174 --To-tag
DEBUG[29332] chan_sip.c: (Provisional) Stopping retransmission (but retaining packet) on '6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060' Request 103: Found
DEBUG[29332] chan_sip.c: = Looking for Call ID: 6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060 (Checking To) --From tag as0c00e174 --To-tag as2f5f43b6
DEBUG[29332] chan_sip.c: Stopping retransmission on '6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060' of Request 103: Match Found

DEBUG[29332] chan_sip.c: Session timer started: 30765 - 6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060
DEBUG[29332] chan_sip.c: = Looking for Call ID: 6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060 (Checking From) --From tag as2f5f43b6 --To-tag as0c00e174
DEBUG[29332] chan_sip.c: Setting SIP_ALREADYGONE on dialog 6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060
DEBUG[29332] chan_sip.c: Session timer stopped: 30765 - 6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060

DEBUG[29332] chan_sip.c: Auto destroying SIP dialog '6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060'
DEBUG[29332] chan_sip.c: Destroying SIP dialog 6a0dde426899a4544fe5147c60d45488@1.2.2.26:5060

Отличия вижу, но понять пока не получается.
#30 08.10.2011 08:00

У меня тоже все в порядке. Думаю у вас могут быть кривые настройки в конфигах. Прикрепите аттачем sip.conf asterisk.conf, сравним.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#31 10.10.2011 08:07

Конфиги
#32 13.10.2011 06:28

Вероятно мои проблемы связаны с NATом, поскольку при установке nat=no за полдня ни одной зависшей сессии, однако я не подумал о тех, кто сидит за натом, у них перестали работать телефоны, можно конечно перенастроить все оборудование на использование stun серверов, но это сильно сложно.

Для версии 1.4 поставил nat=route, вроде меньше на нем стало появляться зависших сессий, в 1.8 пока оставил также nat=yes.

Ну и также стоит учитывать, что астериски у меня патченые на предмет т38 гетвея, возможно это вносит какие-то косяки.
#33 13.10.2011 10:54

Ниже строчки nat=yes в глобальном конфиге впишите canreinvite=no
Это уже классика.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#34 13.10.2011 14:22

anest писал(а):
впишите canreinvite=no.
В дефолтовом конфиге 1.8 я этого не видел, а сам туда не добавлял строчки, но у меня это прописано в групповом контексте.
#35 14.10.2011 00:40

впишите глобально, хуже не будет, а ситуацию изменить может.
ps: если чего то не видите в конфиге то это еще не означает что этого там быть не должно и не может.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius