Страница 1 из 1

Локальные звонки между абонентами (sip)

Добавлено: 23 окт 2014, 15:03
mcgowan
Настраиваю первый раз Asterisk
Есть 3 клиента:
100 - ip-телефон
101 - VoIP-шлюз
102 - X-Lite

Со всех клиентов получается позвонить на добавочный номер 500 и прослушать сообщение.
Со всех клиентов получается сделать внешний звонок через sipnet на мобильник

Проблема заключается в звонках между клиентами, т.е. с номера 100 на номер 101 или наоборот. Причем с номера 100 звонок иногда проходит, а вот наоборот не получилось ещё ни разу.
При попытке совершить вызов в CLI пишется следующий лог:

Код: Выделить всё

asterisk*CLI> 
  == Using SIP RTP CoS mark 5
    -- Executing [100@hello-world:1] Dial("SIP/102-0000001f", "SIP/100") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/100
    -- Got SIP response 482 "Loop Detected" back from 192.168.2.30:5060
    -- SIP/100-00000020 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Auto fallthrough, channel 'SIP/102-0000001f' status is 'CONGESTION'

  == Using SIP RTP CoS mark 5
    -- Executing [102@hello-world:1] Dial("SIP/100-00000021", "SIP/102") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/102
    -- Got SIP response 482 "Loop Detected" back from 192.168.2.30:5060
    -- SIP/102-00000022 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
    -- Auto fallthrough, channel 'SIP/100-00000021' status is 'CONGESTION'

  == Using SIP RTP CoS mark 5
    -- Executing [500@hello-world:1] Playback("SIP/102-00000023", "hello-world") in new stack
    -- <SIP/102-00000023> Playing 'hello-world.alaw' (language 'ru')
    -- Executing [500@hello-world:2] Hangup("SIP/102-00000023", "") in new stack
  == Spawn extension (hello-world, 500, 2) exited non-zero on 'SIP/102-00000023'

extensions.conf

Код: Выделить всё

[hello-world]
exten=>500,1,Playback(hello-world)
exten=>500,n,Hangup()

exten=>100,1,Dial(SIP/100)
exten=>101,1,Dial(SIP/101)
exten=>102,1,Dial(SIP/102)
sip.conf

Код: Выделить всё

[general]
;allowguest=no
language=ru
bindaddr=192.168.2.30

register=>100:123456@asterisk
register=>101:123456@asterisk

[100]
type=friend
context=hello-world
host=dynamic
secret=123456
allow=alaw
allow=ulaw
allow=g729

[101]
type=friend
context=hello-world
host=dynamic
secret=123456
allow=alaw
allow=ulaw
allow=g729

Код: Выделить всё

asterisk*CLI> sip show peers
Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description                      
100/s                     192.168.2.30                             D  Auto (No)  No             5060     Unmonitored                                  
101/101                   192.168.2.30                             D  Auto (No)  No             5060     Unmonitored                                  
102/102                   192.168.2.30                             D  Auto (No)  No             5060     Unmonitored 

Код: Выделить всё

asterisk*CLI> sip show registry 
Host                                    dnsmgr Username       Refresh State                Reg.Time                 
asterisk:5060                           N      102                105 Registered           Thu, 23 Oct 2014 14:52:06
asterisk:5060                           N      101                105 Registered           Thu, 23 Oct 2014 14:52:06
asterisk:5060                           N      100                105 Registered           Thu, 23 Oct 2014 14:52:06

Re: Локальные звонки между абонентами (sip)

Добавлено: 23 окт 2014, 15:13
Samael28
Потому что вы кольцо построили, о чем вам система и сообщила. Зарегистрировали систему сами на себе. Причем не 1 раз. Зачем?

Re: Локальные звонки между абонентами (sip)

Добавлено: 23 окт 2014, 15:37
mcgowan
Если не делать регистрацию линий, то при попытке совершить звонок с клиента 101 или 102 получаю следующую ошибку

Код: Выделить всё

[Oct 23 15:33:54] WARNING[2707][C-0000000d]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Auto fallthrough, channel 'SIP/102-0000000e' status is 'CHANUNAVAIL'
    -- Registered SIP '101' at 192.168.2.31:5060
  == Using SIP RTP CoS mark 5
    -- Executing [100@hello-world:1] Dial("SIP/102-0000000f", "SIP/100") in new stack
ЗЫ: Сейчас убрал регистрации. С номера 100 пока начал звонить на обоих клиентов. В обатную сторону звонок не проходит, как и между клиентами.

Re: Локальные звонки между абонентами (sip)

Добавлено: 23 окт 2014, 16:25
mcgowan
Клиенты 101-102 между собой начали звонить, но по прежнему не идет звонок на 100.
Возможно нашёл причину. Не видно IP у 100.

Код: Выделить всё

asterisk*CLI> sip show peers
Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description                      
100                       (Unspecified)                            D  Auto (No)  No             0        Unmonitored                                  
101/101                   192.168.2.31                             D  Auto (No)  No             5060     Unmonitored  
Прописал в sip.conf в директиву host IP адрес телефона. Звонок появился, но теперь проблема с кодеками

Код: Выделить всё

[Oct 23 16:23:47] WARNING[3197][C-0000000e]: channel.c:5353 set_format: Unable to find a codec translation path from (g729) to (alaw)
ЗЫ: а с кодеками я тупанул сам - ранее отключил в настройках всё кроме 729

Re: Локальные звонки между абонентами (sip)

Добавлено: 23 окт 2014, 17:16
ded
Начните уже читать книгу про будущее телефонии. Рлка что ваши вопросы говорят о том, что не читали, от этого этот топик похож на личный блог "Как я с успехом конструирую двухколёсные устройство с педалями, забравшись на которое мне удаётся проехать несколько метров!"

Re: Локальные звонки между абонентами (sip)

Добавлено: 25 окт 2014, 19:53
mcgowan
Я читал данную книгу.
Уж простите, что сам на свои вопросы отвечаю, когда нахожу ответ, чтобы следующий не создавал подобную тему не найдя ответа, т.к. "гуру" этого сделать не могут, ведь раздел то для новичков.

Re: Локальные звонки между абонентами (sip)

Добавлено: 25 окт 2014, 20:53
gland
дак у вас все устройства на одной машине. меняйте сигнальные порты, либо разнесите по разным машинам.

Re: Локальные звонки между абонентами (sip)

Добавлено: 26 окт 2014, 01:04
ded
gland, человек просто парит. Заявляет, что
Есть 3 клиента:
100 - ip-телефон
101 - VoIP-шлюз
102 - X-Lite
и тут же приводит выхлоп

Код: Выделить всё

100/s                     192.168.2.30                             D Auto (No)  No             5060     Unmonitored                                 
101/101                   192.168.2.30                             D  Auto (No)  No             5060     Unmonitored                                 
102/102                   192.168.2.30                             D  Auto (No)  No             5060     Unmonitored 
вот расскажите, как могут ip-телефон, VoIP-шлюз и софтфон X-Lite иметь одинаковый ИП 192.168.2.30 и порт 5060?
mcgowan писал(а):Я читал данную книгу.
Уж простите, что сам на свои вопросы отвечаю, когда нахожу ответ, чтобы следующий не создавал подобную тему не найдя ответа.
Уж простите, но вы следующий, но создали подобную тему, не искали ответ, а локальные звонки между абонентами - это первая ступень прочтения книги, самая простая.
ded писал(а):ваши вопросы говорят о том, что не читали

Re: Локальные звонки между абонентами (sip)

Добавлено: 26 окт 2014, 02:54
gofer_k
Палюбому запустил на одном компе 3 софтфона разных и пытается сам себе звонить.
Эх молодежь.

Re: Локальные звонки между абонентами (sip)

Добавлено: 26 окт 2014, 17:46
gland
ded писал(а):вот расскажите, как могут ip-телефон, VoIP-шлюз и софтфон X-Lite иметь одинаковый ИП 192.168.2.30 и порт 5060?
я про это и говорю. Но это больше не чтение будущего, а tcp/ip. хотя, там этим вопросам внимание тоже уделяется)