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

Звонок на несуществующий номер (ошибки)

2

Здравствуйте, подскажите, как правильно можно обработать звонок на не существующий номер? Есть такой вот диалплан:

include => default
exten => _10XX,1,Verbose(1|Extension ${EXTEN})
exten => _10XX,n,NoOp(Call from ${CALLERID(num)})
exten => _10XX,n,Dial(SIP/${EXTEN},30)
exten => _10XX,n,NoOp(Dial Status: ${DIALSTATUS})
exten => _10XX,n,Hangup()

при звонке на существующие номера либо идет звонок, либо, если пользователь есть, но не зарегистрирован, получаю ответ

Dial Status: CHANUNAVAIL"

но при звонке на не существующий в системе номер, начинающейся на 10 (скажем (1045) получаю кучу ошибок

-- Executing [1045@r-in-PANAS:2] NoOp("OOH323/PANAS1-651", "Call from 1110") in new stack
    -- Executing [1045@r-in-PANAS:3] Dial("OOH323/PANAS1-651", "SIP/1045,30") in new stack
  == Using SIP RTP CoS mark 5
[Jul 23 03:29:15] WARNING[9213]: acl.c:708 ast_ouraddrfor: Cannot connect
[Jul 23 03:29:15] WARNING[9213]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x2aaacc010eb0 (len 822) to 0.0.4.21:5060 returned -1: Invalid argument
    -- Called SIP/1045
[Jul 23 03:29:16] WARNING[3709]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x2aaacc010eb0 (len 822) to 0.0.4.21:5060 returned -1: Invalid argument
[Jul 23 03:29:17] WARNING[3709]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x2aaacc010eb0 (len 822) to 0.0.4.21:5060 returned -1: Invalid argument
  == Spawn extension (r-in-PANAS, 1045, 3) exited non-zero on 'OOH323/PANAS1-651'
[Jul 23 03:29:19] WARNING[3709]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x2aaacc010eb0 (len 822) to 0.0.4.21:5060 returned -1: Invalid argument
[Jul 23 03:29:23] WARNING[3709]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x2aaacc010eb0 (len 822) to 0.0.4.21:5060 returned -1: Invalid argument
[Jul 23 03:29:31] WARNING[3709]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x2aaacc010eb0 (len 822) to 0.0.4.21:5060 returned -1: Invalid argument
[Jul 23 03:29:47] WARNING[3709]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x2aaacc010eb0 (len 822) to 0.0.4.21:5060 returned -1: Invalid argument
[Jul 23 03:29:47] WARNING[3709]: chan_sip.c:3622 retrans_pkt: Retransmission timeout reached on transmission 29d69ef04eeb3c1728d268196c7ab08c@127.0.0.1:5060 for seqno 102 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
удалить закрыть спам изменить тег редактировать

спросил 2011-07-22 20:27:11 +0400

ss777 Gravatar ss777
78 6 1 5

Comments

странный диалплан, вообще все добавочные номера в системе объявляют явно. cvieri ( 2011-07-22 21:38:13 +0400 )редактировать
да ну? даже если их 1000? meral ( 2011-07-23 13:49:19 +0400 )редактировать
Честно говоря не понял к чему Ваш комментарий, добавочные номера естественно объявляются явно в users.conf, а диалплан по общей обработки этих номеров, должен использовать маски. ss777 ( 2011-07-23 15:45:42 +0400 )редактировать

5 Ответов

3

итак, по вашему объяснению вы звоните на sip/username и секции username НЕ существует.

а что вы ожидаете получить? все работает как положено. а именно * не может выяснить куда звонить и не звонит. если вы хотите получить FAILED cтатус, то сделайте так

exten => _10XX,n,Dial(SIP/${EXTEN},30,g)

или проверте, что пир есть

exten => _10XX,n,GotoIF($[ "${SIPPEER(status)}" == "" ]?no_user)
...
exten => _10XX,n(no_user),Playback(no-user-availible)
ссылка удалить спам редактировать

ответил 2011-07-23 15:58:09 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

обновил 2011-07-23 16:01:49 +0400

Comments

Оффттоп конечно, но спасибо! Выручил

ubelousov ( 2011-11-02 17:54:59 +0400 )редактировать
1
  1. Если он не существует то сообщение имеет вид

    Call from '1010' (10.10.1.225:5060) to extension '1058' rejected because extension not found in context 'test'.

  2. Если он не онлайн то в данном случае сообщение будет такое

    Auto fallthrough, channel 'SIP/1010-0000001a' status is 'CHANUNAVAIL'

А если его глючит то будет то о чем я уже писал. И давайте уже действительно думать, а не флудить, если нет желания вникать в суть проблемы (даже никто багрепорт не прочитал) лучше ничего не писать.

ссылка удалить убрать флаг спам (1) редактировать

ответил 2011-07-23 18:00:08 +0400

ss777 Gravatar ss777
78 6 1 5

Comments

не пишите чего не знаете. это справедливо только для 1.4-1.6.(начальных) для 1.8 будет себя вести как у вас описано. баг это или фича - бабка надвое сказала. 1.8.* так себя всегда вел. и собственно вы это уже поняли, так в чем проблема? измените диалплан как я написал ниже(на совместимость с 1.8). если вам хочеться подискутировать на эту тему- дискутируйте с диджиум. новое вам врядли чтото ктото скажет meral ( 2011-07-24 12:40:48 +0400 )редактировать

meral, пора тэг поставить на это дело.. Вопрос часто ребята поднимают!!

Zavr2008 ( 2012-01-01 13:56:38 +0400 )редактировать
0

Прежде чем звонить надо думать, т.е. проверять пир на:

  1. То, что он существует.
  2. То, что он онлайн
ссылка удалить спам редактировать

ответил 2011-07-23 17:33:27 +0400

Aven Gravatar Aven flag of Russian Federation
343 1 13
http://it-need.ru/

Comments

1. Если не существует, в нормальной ситуации выдается сообщение ss777 ( 2011-07-23 17:53:53 +0400 )редактировать
0
ссылка удалить спам редактировать

ответил 2012-01-01 11:15:17 +0400

bolshoy_plohish Gravatar bolshoy_plohish
1358 21 16 37
-2
    -- Executing [1058@world:3] Dial("SIP/1010-0000000f", "SIP/1058,30,g") in new stack
  == Using SIP RTP CoS mark 5
[Jul 23 23:17:39] WARNING[12136]: acl.c:708 ast_ouraddrfor: Cannot connect
[Jul 23 23:17:39] WARNING[12136]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x4d84c10 (len 824) to 0.0.4.34:5060 returned -1: Invalid argument
    -- Called SIP/1058
[Jul 23 23:17:40] WARNING[11601]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x4d84c10 (len 824) to 0.0.4.34:5060 returned -1: Invalid argument
[Jul 23 23:17:41] WARNING[11601]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x4d84c10 (len 824) to 0.0.4.34:5060 returned -1: Invalid argument
  == Spawn extension (world, 1058, 3) exited non-zero on 'SIP/1010-0000000f'
[Jul 23 23:17:43] WARNING[11601]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x4d84c10 (len 824) to 0.0.4.34:5060 returned -1: Invalid argument
[Jul 23 23:17:47] WARNING[11601]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x4d84c10 (len 824) to 0.0.4.34:5060 returned -1: Invalid argument
[Jul 23 23:17:55] WARNING[11601]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x4d84c10 (len 824) to 0.0.4.34:5060 returned -1: Invalid argument
[Jul 23 23:18:11] WARNING[11601]: chan_sip.c:3351 __sip_xmit: sip_xmit of 0x4d84c10 (len 824) to 0.0.4.34:5060 returned -1: Invalid argument
[Jul 23 23:18:11] WARNING[11601]: chan_sip.c:3622 retrans_pkt: Retransmission timeout reached on transmission 68c5ce3467d78f9208a71a854b344925@127.0.0.1:5060 for seqno 102 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32000ms with no response

Это баг https://issues.asterisk.org/view.php?id=18514

ссылка удалить спам редактировать

ответил 2011-07-23 16:06:00 +0400

ss777 Gravatar ss777
78 6 1 5

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2011-07-22 20:27:11 +0400

Просмотрен: 4,114 раз

Обновлен: Jan 01 '12

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