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

АТА-18х (v3.1.0 atasip) и Segmentation fault

Asterisk IP PBX 11 сообщений -
#1

использую АТА-18х (Version: v3.1.0 atasip), по умолчанию (после фактори ресет) стоят значения:
LBRCodec:0
RxCodec:1
TxCodec:1

звоним через * на cisco ip phone 7960, при поднятии трубки с радостью читаем:

*CLI> -- Executing Dial("SIP/666288-a062", "SIP/666287|30") in new stack
-- Called 666287
-- SIP/666287-1a5c is ringing
-- SIP/666287-1a5c answered SIP/666288-a062
-- Attempting native bridge of SIP/666288-a062 and SIP/666287-1a5c
Feb 17 18:17:25 WARNING[11541]: rtp.c:1405 ast_rtp_bridge: codec0 = 13 is not codec1 = 256, cannot native bridge.
Segmentation fault

либо,

-- Executing Dial("SIP/666288-c9cd", "SIP/666287|30") in new stack
-- Called 666287
-- SIP/666287-ebf2 is ringing
-- SIP/666287-ebf2 answered SIP/666288-c9cd
-- Attempting native bridge of SIP/666288-c9cd and SIP/666287-ebf2
-- Got SIP response 481 "Call Leg/Transaction Does Not Exist" back from АТА-186
== Spawn extension (magsip, 666287, 1) exited non-zero on 'SIP/666288-c9cd'
-- Executing Dial("SIP/666288-2ace", "SIP/666287|30") in new stack
-- Called 666287
-- SIP/666287-dda0 is ringing
-- SIP/666287-dda0 answered SIP/666288-2ace
-- Attempting native bridge of SIP/666288-2ace and SIP/666287-dda0
-- Got SIP response 481 "Call Leg/Transaction Does Not Exist" back from АТА-186
== Spawn extension (magsip, 666287, 1) exited non-zero on 'SIP/666288-2ace'
-- Executing Dial("SIP/666288-57e8", "SIP/666287|30") in new stack
-- Called 666287
-- SIP/666287-7cbf is ringing
-- SIP/666287-7cbf answered SIP/666288-57e8
-- Attempting native bridge of SIP/666288-57e8 and SIP/666287-7cbf
-- Got SIP response 481 "Call Leg/Transaction Does Not Exist" back from АТА-186
== Spawn extension (magsip, 666287, 1) exited non-zero on 'SIP/666288-57e8'
-- Executing Dial("SIP/666288-88df", "SIP/666287|30") in new stack
-- Called 666287
-- SIP/666287-9a5a is ringing
-- SIP/666287-9a5a answered SIP/666288-88df
-- Attempting native bridge of SIP/666288-88df and SIP/666287-9a5a
-- Got SIP response 481 "Call Leg/Transaction Does Not Exist" back from АТА-186
== Spawn extension (magsip, 666287, 1) exited non-zero on 'SIP/666288-88df'
-- Executing Dial("SIP/666288-bafb", "SIP/666287|30") in new stack
-- Called 666287
-- SIP/666287-198b is ringing
-- SIP/666287-198b answered SIP/666288-bafb
-- Attempting native bridge of SIP/666288-bafb and SIP/666287-198b
-- Got SIP response 481 "Call Leg/Transaction Does Not Exist" back from АТА-186
== Spawn extension (magsip, 666287, 1) exited non-zero on 'SIP/666288-bafb'

- это был лог одного звонка, т.е. на 7960 снимаем трубку, звонок обрывается, * перенабирает и так пока не наступит тайм-аут..

если поставить на АТА-18х
LBRCodec:1
RxCodec:1
TxCodec:1
или соответственно везде 3, то все ок

не устраивает то что при "неправильных" настройках АТА, * валится..

кто-нибудь встречался с таким?? и как боролись??

и еще вопрос: кодеки 729 и 723 отличные от тех которые на библиотеках от интела под * - где можно взять??
#3

Забить в sip.conf для АТА-186:

canreinvite=no
#4

за кодеки спасибо.. опробую

а вот
canreinvite=no
не помогло (( результат тот же при поднятии трубки на 7960:

*CLI> -- Executing Dial("SIP/666288-6b1a", "SIP/666287|30") in new stack
-- Called 666287
-- SIP/666287-93a8 is ringing
-- SIP/666287-93a8 answered SIP/666288-6b1a
-- Attempting native bridge of SIP/666288-6b1a and SIP/666287-93a8
Segmentation fault

все бы ничего - но остается незащищенной PBX - по незнанию, а может и злонамерено могут воспользоваться этим..
#5

а что отвечает * на вопрос show translation?
#6

вроде как мне показалось - все ок, нет только speex'a
Код:

Translation times between formats (in milliseconds)
Source Format (Rows) Destination Format(Columns)

g723 gsm ulaw alaw g726 adpcm slin lpc10 g729 speex ilbc
g723 - 3 2 2 2 2 1 5 9 - 13
gsm 11 - 2 2 2 2 1 5 9 - 13
ulaw 11 3 - 1 2 2 1 5 9 - 13
alaw 11 3 1 - 2 2 1 5 9 - 13
g726 11 3 2 2 - 2 1 5 9 - 13
adpcm 11 3 2 2 2 - 1 5 9 - 13
slin 10 2 1 1 1 1 - 4 8 - 12
lpc10 12 4 3 3 3 3 2 - 10 - 14
g729 12 4 3 3 3 3 2 6 - - 14
speex - - - - - - - - - - -
ilbc 12 4 3 3 3 3 2 6 10 - -
#7

Покажи как описан в юзер 666288 в sip.conf и шаблон в extensions.conf
#8

вот:
sip.conf:
Код:

[666288]
type=friend
username=666288
deny=0.0.0.0/0.0.0.0
permit=xxx.xxx.xxx.xxx/255.255.255.255
host=xxx.xxx.xxx.xxx
nat=no
context=int_sip_users
disallow=all
allow=g729
allow=g723.1

также описаны и другие юзеры на СИПе

extensions.conf:
Код:

[sssip]
exten => _00.,1,Dial(H323/${EXTEN}@ip$xxx.xxx.xxx.xxx)
exten => _00.,3,Goto(s-${DIALSTATUS},1)

exten => 666287,1,Dial(SIP/${EXTEN},30)
exten => 666287,2,Goto(s-${DIALSTATUS},1)

exten => 666288,1,Dial(SIP/${EXTEN},30)
exten => 666288,2,Goto(s-${DIALSTATUS},1)

exten => 666261,1,Dial(SIP/${EXTEN},30)
exten => 666261,2,Goto(s-${DIALSTATUS},1)

.............................

exten => s-NOANSWER,1,Wait,3
....
exten => s-BUSY,1,Wait,3
....
exten => s-CHANUNAVAIL,1,Wait,3
....
exten => _s-.,1,Goto(s-NOANSWER,1)

[int_sip_users]
include => sssip
#9

Как описан 666287 IP phone 7960 в sip.conf?

Насколько можно понять, начинает напрягаться, когда пытается делать трансляцию кодеков.
#10

наверное, похоже то..
все юзеры описаны одинаково:
Код:

[666ххх]
type=friend
username=666ххх
deny=0.0.0.0/0.0.0.0
permit=xxx.xxx.xxx.xxx/255.255.255.255
host=xxx.xxx.xxx.xxx
nat=no
context=int_sip_users
disallow=all
allow=g729
allow=g723.1

отличия конечноже только в username и в ИП-адресах
#11

Тогда руководствуясь той же логикой надо было писать и общий шаблон:

exten => 666ХХХ,1,Dial(SIP/${EXTEN},30)
exten => 666ХХХ,2,Goto(s-${DIALSTATUS},1)

В IP7960 нету к примеру 723 кодека. - Valid values are g711alaw, g711ulaw, and g729a. The default is g711ulaw. -
Я бы расширил в шаблоне область кодеков на юзерах, и дописал бы обязательно 711.
allow=g729
allow=alaw
allow=ulaw
allow=g723
Кроме того, скрытые грабли в выбираемом * в первую очередь 729. Он разделяет их на 729a, 729b и 729ab? Думаю, нет, если начинает стыковать медиа поток думая, что в IP7960 используется 729b, ан нет!
А ещё оставляя дефолтные значения
LBRCodec:0
RxCodec:1
TxCodec:1
и прописывая на юзере allow=g729 allow=g723 сам создаёшь дополнительные условия для граблей по трансляции, её нужно бы тогда, когда на родных кодеках нестыковка. А будешь звонить в мир куда-нить в voipexchange, то с такими значениями RxCodec TxCodec получишь отлуп "486 Cannot acceptable here".