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

mgw+switch+cisco+pc

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

Ребята!!!!! Получилось! Smile Smile Smile
Только частично Sad
Все таки проблема была решена так:
Код:

[outsip]
exten => 2288888,1,Wait(2)
exten => 2288888,2,Record(/home/sip.wav)
exten => 2288888,3,Wait(2)
exten => 2288888,4,Playback(/home/sip.wav)
exten => 2288888,3,Wait(2)
exten => 2288888,5,Hangup

Вот только Playback не получается. Он мне вот чего пишет
Код:

[Aug 4 07:04:56] DEBUG[20996] pbx.c: Launching 'Wait'
[Aug 4 07:04:56] VERBOSE[20996] logger.c: -- Executing [2288888@outsip:3] Wait("SIP/2288888@10.0.1.250-081e9050", "2") in new stack
[Aug 4 07:04:58] DEBUG[20996] pbx.c: Launching 'Playback'
[Aug 4 07:04:58] VERBOSE[20996] logger.c: -- Executing [2288888@outsip:4] Playback("SIP/2288888@10.0.1.250-081e9050", "/home/sip.wav") in new stack
[Aug 4 07:04:58] WARNING[20996] file.c: File /home/sip.wav does not exist in any format
[Aug 4 07:04:58] WARNING[20996] file.c: Unable to open /home/sip.wav (format 0x8 (alaw)): No such file or directory
[Aug 4 07:04:58] WARNING[20996] app_playback.c: ast_streamfile failed on SIP/2288888@10.0.1.250-081e9050 for /home/sip.wav
[Aug 4 07:04:58] DEBUG[20996] pbx.c: Launching 'Hangup'


Эта строчка меня вообще просто убила:
Код:

/home/sip.wav does not exist in any format

Может быть есть какие-то идеи?

Только я еще не доконца разобрался как это работает!
Хотел бы прояснить некоторые моменты связанные с алгоритмом рабоыт Астериска.
Допустим мой случай и в sip.conf прописано%
Код:

[user]
....
fromuser=2288888
...

если я звоню с гор. телефона на 2288888, то как я понял из доков, Астериск ищет строку fromuser. Потом он ищет в найденом канале context=outsip. И потом находит в extension.conf екстеншн с именем [outsip] ну и дальше начинает выполнять описанные в нем действия. Это правильно?

А какой алгоритм при звонке с астериска? Те как позвонить с него из консоли и проиграть файл?
Сейчас еще в доках покапаюсь.
#2

nklvch писал(а):
Я просил бы в дальнейшем не флудить
Избыточное количество восклицательных знаков не нужно даже в Cisco конфигах, тем более в сообщениях.
Не понятно что Вас убило, если сказано было - звуковые файлы держать в /var/lib/asterisk/sounds/ а не там, где Вам хочется (/home/sip.wav) и без всяких расширений.
nklvch писал(а):
если я звоню с гор. телефона на 2288888, то как я понял из доков, Астериск ищет строку fromuser. Потом он ищет в найденом канале context=outsip. И потом находит в extension.conf екстеншн с именем [outsip] ну и дальше начинает выполнять описанные в нем действия. Это правильно?
не правильно.
#3

Спасибо за поддержку всем кто ответил.
Столкнулся с другой трудностью. Теперь мне не проиграть звуковой файл на внешний телефон.
Записал 1.call файл

Код:

Channel:SIP/2335522@10.0.1.250
CallerID:2288888
MaxRetries:2
RetryTime:120
WaitTime:30
Context:outboundmsg1
Extension:s
Priority:1

Кидаю в /var/spool/asterisk/outgoing
В extensions.conf пишу
Код:

[outboundmsg1]
exten => s,1,Answer
exten => s,2,Wait(2)
exten => s,3,Playback(outboundmsgs/msg0)
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup

Здесь, ниже вроде бы все правильно консоль выдает?
Код:

-- Attempting call on SIP/335522@10.0.1.250 for s@outboundmsg1:1 (Retry 1)
[Aug 12 11:15:55] DEBUG[23064]: chan_sip.c:15963 sip_request_call: Asked to create a SIP channel with formats: 0x40 (slin)
[Aug 12 11:15:55] DEBUG[23064]: chan_sip.c:4548 sip_alloc: Allocating new SIP dialog for (No Call-ID) - INVITE (With RTP)
[Aug 12 11:15:55] DEBUG[23064]: chan_sip.c:3018 sip_call: Outgoing Call for 335522


А вот дальше чего-то не то происходит.
Код:

[Aug 12 11:15:55] NOTICE[23028]: chan_sip.c:12253 handle_response_invite: Failed to authenticate on INVITE to '"2288888" ;tag=as5b0176fc'
> Channel SIP/10.0.1.250-081e9548 was never answered.
[Aug 12 11:15:55] DEBUG[23064]: channel.c:1483 ast_hangup: Hanging up channel 'SIP/10.0.1.250-081e9548'
[Aug 12 11:15:55] DEBUG[23064]: chan_sip.c:3517 sip_hangup: Hangup call SIP/10.0.1.250-081e9548, SIP callid 18fc538570e9ee747e97031d4a2334df@192.168.3.2)
[Aug 12 11:15:55] NOTICE[23064]: pbx_spool.c:341 attempt_thread: Call failed to go through, reason (8) Congestion (circuits busy)
Really destroying SIP dialog '18fc538570e9ee747e97031d4a2334df@192.168.3.2' Method: INVITE
[Aug 12 11:16:46] NOTICE[23028]: chan_sip.c:7462 sip_reregister: -- Re-registration for 2288888@10.0.1.250
[Aug 12 11:16:46] DEBUG[23028]: chan_sip.c:4548 sip_alloc: Allocating new SIP dialog for 73f17809363c2bd433ce199f145b78bd@127.0.1.1 - REGISTER (No RTP)
[Aug 12 11:16:46] DEBUG[23028]: chan_sip.c:7623 transmit_register: Scheduled a registration timeout for 10.0.1.250 id #39
[Aug 12 11:16:46] DEBUG[23028]: chan_sip.c:7681 transmit_register: >>> Re-using Auth data for 2288888@10.0.1.250

Чего-то я не могу разобраться почему он
Код:

chan_sip.c:12253 handle_response_invite: Failed to authenticate on INVITE to '"2288888" ;tag=as5b0176fc'

пишет.
#4

Накопал следующее.
Цитата:

Коды ответа при ошибке авторизации - 401 или 407?
Если прокси сервер, проверяющий авторизацию, не может принять авторизационные данные, переданные в запросе, то он ДОЛЖЕН ответить сообщением с кодом 407 (Proxy Authentication Required). Ответ ДОЛЖЕН включать в себя заголовочное поле: "Proxy-Authenticate", содержащее, как минимум одну (и по возможности, заново сгенерированную) строку для проведения авторизации на прокси сервере, пригодную к использованию запрашивающим клиентом.

Код:


SIP/2.0 407 Proxy Authentication Required
Via: SIP/2.0/UDP 192.168.3.2:5060;branch=z9hG4bK22d5132f;rport
From: "2288888" ;tag=as7a5c7d22
To: ;tag=22E90C7A
Call-ID: 6405a89f41abdcd91ef1ff7c0c55ba08@192.168.3.2
CSeq: 102 INVITE
User-Agent: ELCOM SIP server
Proxy-Authenticate: Digest algorithm=MD5, realm="elcom@10.0.1.250", nonce="bc5bbdc529810"
Content-Length: 0


строку для проведения авторизации на прокси сервере, пригодную к использованию запрашивающим клиентом
необходимо следущую Proxy-Authenticate: Digest algorithm=MD5, realm="elcom@10.0.1.250", nonce="bc5bbdc529810".
Куда копать? помогите пожалуйста.

Added after 16 minutes:

Хммм...
*CLI> sip show registry
Host Username Refresh State Reg.Time
10.0.1.250:5060 2288888 105 Registered Wed, 13 Aug 2008 11:14:57
Все зарегистрировано вроде.
Почему не получается исходящий вызов с помощью .call файла? Crying or Very sad

Added after 2 hours 7 minutes:

Вот еще что интересного пишет консоль.
Код:

[Aug 13 13:20:30] DEBUG[25807]: chan_sip.c:3018 sip_call: Outgoing Call for 2335128
Audio is at 192.168.3.2 port 17710
Adding codec 0x4 (ulaw) to SDP
Adding codec 0x8 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (no NAT) to 10.0.1.250:5060:
INVITE sip:2335128@10.0.1.250 SIP/2.0
Via: SIP/2.0/UDP 192.168.3.2:5060;branch=z9hG4bK7ee0c274;rport
From: "2288888" ;tag=as78ffd82f
To:
Contact:
Call-ID: 6f052fd871f898fe7e41641911aac2b9@192.168.3.2
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Wed, 13 Aug 2008 17:20:30 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 262

v=0
o=root 25392 25392 IN IP4 192.168.3.2
s=session
c=IN IP4 192.168.3.2
t=0 0
m=audio 17710 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv

Что бы это значило?
А чем связан этот кусок кода который пытается направить ртп?
#5

Поискал в сети по моей проблеме кое-что нашлось.
Цитата:
Call failed to go through, reason (Cool Congestion (circuits busy)

У много кого такой вопрос, но толком никто не ответил на него.
Курим.

Added after 32 minutes:

Все получилось!
В итоге были добавлены две строчки
в sip.conf
Код:

[2288888]
...
canreinvite = yes
qualyfiy = yes
...

может кто-нибудь мне чуточку как какую функциональность они добавляют в систему?
Я прочитал в доках но немножко не понл.[/quote]
#6

Грубо:
canreinvite=yes - позволить RTP/медиа потоку ходить напрямую между устройствами, минуя Asterisk, который будет через себя гонять только сигнализацию.
qualyfiy=yes - периодически опрашивать устройство на наличие признаков жизни и целостности канала. Смахивает на Keep-alive и позволяет поддерживать постоянно открытой сессию NAT.

_________________
Я вернулся.