Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2014-10-31 19:40:05 +0400

Krasnov Gravatar Krasnov

Астер рвет звонок.

Доброго времени суток, уважаемое сообщество.

Есть система, FreeBSD 8.4 + Asterisk 1.8.31 (Нет, не та что в предыдущем вопросе.)

На 3х узлах эта связка работает на ура, никаких проблем нет но, есть один из узлов на котором иду постоянные обрывы связи, причем, все астеры настроены совершенно идентично.

Сегодня решил tcpdump'ом снять пакеты которые проходят от телефона до астера... image description

и, от астера к провайдеру...

image description

и увидел то, что астер в какой-то определенный момент отсылает в сторону провайдера CANCEL а оттуда приходит Request terminated. И, как говорит человек который говорил по телефону, связь рвется.

Есть какие-нибудь предположения, по каким причинам астер отправляет в сторону провайдера CANCEL? И что он хотит этим CANCEL'ом отменить?

ЗЫ. Естественно, принудительно разговор ни кто не обрывал. Я сначала тоже думал что сами трубки кидают а потом жалуются на обрывы но, статистика собранная за вчера/сегодня, показывает что обрывы не по вине пользователей. Судя по количеству пакетов с CANCEL'ом связь рвется часто, не всегда но часто. И это только на одном астере из 5 которые есть.

Что нужно ещё чтобы было более понятней?

Астер рвет звонок.

Доброго времени суток, уважаемое сообщество.

Есть система, FreeBSD 8.4 + Asterisk 1.8.31 (Нет, не та что в предыдущем вопросе.)

На 3х узлах эта связка работает на ура, никаких проблем нет но, есть один из узлов на котором иду постоянные обрывы связи, причем, все астеры настроены совершенно идентично.

Сегодня решил tcpdump'ом снять пакеты которые проходят от телефона до астера... image description

и, от астера к провайдеру...

image description

и увидел то, что астер в какой-то определенный момент отсылает в сторону провайдера CANCEL а оттуда приходит Request terminated. И, как говорит человек который говорил по телефону, связь рвется.

Есть какие-нибудь предположения, по каким причинам астер отправляет в сторону провайдера CANCEL? И что он хотит этим CANCEL'ом отменить?

ЗЫ. Естественно, принудительно разговор ни кто не обрывал. Я сначала тоже думал что сами трубки кидают а потом жалуются на обрывы но, статистика собранная за вчера/сегодня, показывает что обрывы не по вине пользователей. Судя по количеству пакетов с CANCEL'ом связь рвется часто, не всегда но часто. И это только на одном астере из 5 которые есть.

Что нужно ещё чтобы было более понятней?

update... general и настройки провайдера и телефона

    [general]
context = dialin
regcontext = dialin
allowguest = no
allowoverlap = yes
;bindport = 5060
;bindaddr = 0.0.0.0
srvlookup = no
externip = 95.XXX.XXX.90
externrefresh = 60
rtpkeepalive = 60
rtptimeout = 120
rtupdate = yes
alwaysauthreject=yes
rtcachefriends = yes
localnet = 192.168.29.0/255.255.255.224
localnet = 192.168.26.0/255.255.255.0
nat=no
t38pt_udptl = no
canreinvite = no
sipdebug = no
musicclass=native-random
language = ru
videosupport = no
notifyringing = no
notifyhold = no
useclientcode = yes
subscribecontext=blf-group
allowsubscribe=yes
limitonpeers = yes
tos=0x18
disallow=all
allow=alaw
allow=ulaw

register => 363XX68:123123123@sip01.xxxxxx.ru/2399

[2399]
type=friend
username=363XX68
fromuser=363XX68
secret=123123123
host=sip01.xxxxxx.ru
qualify=yes
port=5060
nat=no
call-limit=6
insecure=invite,port
dtmfmode=rfc2833
context=dialin
t38pt_udptl=yes
t38pt_rtp=yes
t38pt_tcp=no
canreinvite=no
notyfyringing=no
disallow=all
allow=alaw
allow=ulaw


[phones](!)
type=friend
host=dynamic
secret=111111
dtmfmode=rfc2833
qualify=yes
context=c-dialout
transfer=yes
nat=no
port=5060
t38pt_udptl=yes
t38pt_rtp=no
t38pt_tcp=no
canreinvite=no
cancallforward=yes
notyfyringing=no
call-limit=2
disallow=all
allow=alaw
allow=ulaw

[2301](phones)
username=2301
callerid="User <2301>"
...
[2308](phones)
username=2308
callerid="Semina <2308>"

Астер рвет звонок.

Доброго времени суток, уважаемое сообщество.

Есть система, FreeBSD 8.4 + Asterisk 1.8.31 (Нет, не та что в предыдущем вопросе.)

На 3х узлах эта связка работает на ура, никаких проблем нет но, есть один из узлов на котором иду постоянные обрывы связи, причем, все астеры настроены совершенно идентично.

Сегодня решил tcpdump'ом снять пакеты которые проходят от телефона до астера... image description

и, от астера к провайдеру...

image description

и увидел то, что астер в какой-то определенный момент отсылает в сторону провайдера CANCEL а оттуда приходит Request terminated. И, как говорит человек который говорил по телефону, связь рвется.

Есть какие-нибудь предположения, по каким причинам астер отправляет в сторону провайдера CANCEL? И что он хотит этим CANCEL'ом отменить?

ЗЫ. Естественно, принудительно разговор ни кто не обрывал. Я сначала тоже думал что сами трубки кидают а потом жалуются на обрывы но, статистика собранная за вчера/сегодня, показывает что обрывы не по вине пользователей. Судя по количеству пакетов с CANCEL'ом связь рвется часто, не всегда но часто. И это только на одном астере из 5 которые есть.

Что нужно ещё чтобы было более понятней?

update... general и настройки провайдера и телефона

    [general]
context = dialin
regcontext = dialin
allowguest = no
allowoverlap = yes
;bindport = 5060
;bindaddr = 0.0.0.0
srvlookup = no
externip = 95.XXX.XXX.90
externrefresh = 60
rtpkeepalive = 60
rtptimeout = 120
rtupdate = yes
alwaysauthreject=yes
rtcachefriends = yes
localnet = 192.168.29.0/255.255.255.224
localnet = 192.168.26.0/255.255.255.0
nat=no
t38pt_udptl = no
canreinvite = no
sipdebug = no
musicclass=native-random
language = ru
videosupport = no
notifyringing = no
notifyhold = no
useclientcode = yes
subscribecontext=blf-group
allowsubscribe=yes
limitonpeers = yes
tos=0x18
disallow=all
allow=alaw
allow=ulaw

register => 363XX68:123123123@sip01.xxxxxx.ru/2399
0000000:123123123@sip01.xxxxxx.ru/2399

[2399]
type=friend
username=363XX68
fromuser=363XX68
username=0000000
fromuser=0000000
secret=123123123
host=sip01.xxxxxx.ru
qualify=yes
port=5060
nat=no
call-limit=6
insecure=invite,port
dtmfmode=rfc2833
context=dialin
t38pt_udptl=yes
t38pt_rtp=yes
t38pt_tcp=no
canreinvite=no
notyfyringing=no
disallow=all
allow=alaw
allow=ulaw


[phones](!)
type=friend
host=dynamic
secret=111111
dtmfmode=rfc2833
qualify=yes
context=c-dialout
transfer=yes
nat=no
port=5060
t38pt_udptl=yes
t38pt_rtp=no
t38pt_tcp=no
canreinvite=no
cancallforward=yes
notyfyringing=no
call-limit=2
disallow=all
allow=alaw
allow=ulaw

[2301](phones)
username=2301
callerid="User <2301>"
...
[2308](phones)
username=2308
callerid="Semina <2308>"

Астер рвет звонок.

Доброго времени суток, уважаемое сообщество.

Есть система, FreeBSD 8.4 + Asterisk 1.8.31 (Нет, не та что в предыдущем вопросе.)

На 3х узлах эта связка работает на ура, никаких проблем нет но, есть один из узлов на котором иду постоянные обрывы связи, причем, все астеры настроены совершенно идентично.

Сегодня решил tcpdump'ом снять пакеты которые проходят от телефона до астера... image description

и, от астера к провайдеру...

image description

и увидел то, что астер в какой-то определенный момент отсылает в сторону провайдера CANCEL а оттуда приходит Request terminated. И, как говорит человек который говорил по телефону, связь рвется.

Есть какие-нибудь предположения, по каким причинам астер отправляет в сторону провайдера CANCEL? И что он хотит этим CANCEL'ом отменить?

ЗЫ. Естественно, принудительно разговор ни кто не обрывал. Я сначала тоже думал что сами трубки кидают а потом жалуются на обрывы но, статистика собранная за вчера/сегодня, показывает что обрывы не по вине пользователей. Судя по количеству пакетов с CANCEL'ом связь рвется часто, не всегда но часто. И это только на одном астере из 5 которые есть.

Что нужно ещё чтобы было более понятней?

update... general и настройки провайдера и телефона

    [general]
context = dialin
regcontext = dialin
allowguest = no
allowoverlap = yes
;bindport = 5060
;bindaddr = 0.0.0.0
srvlookup = no
externip = 95.XXX.XXX.90
externrefresh = 60
rtpkeepalive = 60
rtptimeout = 120
rtupdate = yes
alwaysauthreject=yes
rtcachefriends = yes
localnet = 192.168.29.0/255.255.255.224
localnet = 192.168.26.0/255.255.255.0
nat=no
t38pt_udptl = no
canreinvite = no
sipdebug = no
musicclass=native-random
language = ru
videosupport = no
notifyringing = no
notifyhold = no
useclientcode = yes
subscribecontext=blf-group
allowsubscribe=yes
limitonpeers = yes
tos=0x18
disallow=all
allow=alaw
allow=ulaw

register => 0000000:123123123@sip01.xxxxxx.ru/2399

[2399]
type=friend
username=0000000
fromuser=0000000
secret=123123123
host=sip01.xxxxxx.ru
qualify=yes
port=5060
nat=no
call-limit=6
insecure=invite,port
dtmfmode=rfc2833
context=dialin
t38pt_udptl=yes
t38pt_rtp=yes
t38pt_tcp=no
canreinvite=no
notyfyringing=no
disallow=all
allow=alaw
allow=ulaw


[phones](!)
type=friend
host=dynamic
secret=111111
dtmfmode=rfc2833
qualify=yes
context=c-dialout
transfer=yes
nat=no
port=5060
t38pt_udptl=yes
t38pt_rtp=no
t38pt_tcp=no
canreinvite=no
cancallforward=yes
notyfyringing=no
call-limit=2
disallow=all
allow=alaw
allow=ulaw

[2301](phones)
username=2301
callerid="User <2301>"
...
[2308](phones)
username=2308
callerid="Semina <2308>"

Update...

Отловил ещё один обрыв:

По ссылкам, два pcap-лога от телефона до aster'а и от aster'а до провайдера. (все приводить не имеет смысла оба лога по 400-500 строк)

Трафик звонка с телефона до астериска

Пакеты звонка от астериска до провыйдера

В каждом из логов два звонка, первый оборвавшийся и второй успешно завершенный.

По обоим звонкам есть записи первая запись обрывается на полуслове вторая заканчивается нормально.

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.