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

asterisk+libSS7+ISUP

2

Здравствуйте.

Реализуется связка asterisk libss7 c SIP. Телефоны Grandstream GXV3005. При попытках звонка на занятый разговором номер возвращается код (34). По требованию АТС необходимо возвращать код (17).


[1] Len = 16 [ 95 96 0d c5 8b 03 25 20 02 00 0c 02 00 02 83 a2 ]
[1] FSN: 22 FIB 1
[1] BSN: 21 BIB 1
[1] <[0] MSU
[1] [ 95 96 0d ]
[1]     Network Indicator: 3 Priority: 0 User Part: ISUP (5)
[1]     [ c5 ]
[1]     OPC 148 DPC 907 SLS 2
[1]     [ 8b 03 25 20 ]
[1]             CIC: 2
[1]             [ 02 00 ]
[1]             Message Type: REL
[1]             [ 0c ]
[1]             --VARIABLE LENGTH PARMS[1]--
[1]             Cause Indicator:
[1]                     Coding Standard: 0
[1]                     Location: 3
[1]                     Cause Class: 2
[1]                     Cause Subclass: 2
[1]                     Cause: No circuit/channel available (34)
[1]                     [ 02 83 a2 ]

Чем можно установить статус звонка, или еще каким способом заставить asterisk отдать правильную сигнализацю?

Спасибо.


as20# dahdi_cfg -vv
DAHDI Tools Version - 2.4.0-rc1
DAHDI Version: 2.4.0-rc5
Echo Canceller(s): MG2

as20*CLI> core show version
Asterisk 1.8.3

as20*CLI> ss7 show version
libss7 version: SVN-branch-1.0-r289M

as20# less ./system.conf
span = 1,0,0,ccs,hdb3
bchan = 1-15,17-31
mtp2 = 16
echocanceller = mg2,1-15,17-31
loadzone = ru
defaultzone = ru

as20# less ./chan_dahdi.conf
[trunkgroups]

[channels]
language = ru
usecallerid = yes
echocancel = yes
echocancelwhenbridged = yes
relaxdtmf = yes
rxgain = 0.0
txgain = 0.0
callwaiting = no
allow = all
group = 1
signalling = ss7
ss7type = itu
ss7_explictacm = yes
ss7_autoacm = yes
ss7_internationalprefix = 810
ss7_nationalprefix = 8
ss7_subscriberprefix = 473
ss7_called_nai = subscriber
ss7_calling_nai = national
linkset = 1
busydetect = yes
context = phones
pointcode = 907
adjpointcode = 148
defaultdpc = 148
cicbeginswith = 1
networkindicator = national_spare
sigchan = 16
channel = 1-15
cicbeginwith = 17
channel=17-31

[phones](!)
echocancel = yes
callgroup = 1
pickupgroup = 1
threewaycalling = no
transfer = yes
context = phones
faxdetect = incoming

[2000000](phones)
dahdichan = 1-15
group = 1
callerid = 4732000000
[2000001](phones)
dahdichan = 1-15
group = 1
callerid = 4732000001

as20# less ./sip.conf 
[general]
bindport = 5060  ; UDP Port to bind to (SIP standard port for unencrypted UDP 
bindaddr = 0.0.0.0
allowguest = no
videosupport = yes
tos_sip=cs3
tos_audio=ef
cos_sip=3
cos_audio=5

[4732000000]
secret = 
type = friend
host = dynamic
context = sip
disallow = all
allow = alaw
canreinvite = no
relaxdtmf=yes
dtmfmode = rfc2833
dtmf = rfc2833
nat = yes
qualify = yes
call-limit = 1
callcounter=yes


[4732000001]
secret = 
type = friend
host = dynamic
context = sip
disallow = all
allow = alaw
canreinvite = no
relaxdtmf=yes
dtmfmode = rfc2833
dtmf = rfc2833
nat = yes
qualify = yes
call-limit = 1
callcounter=yes

as20# less ./extensions.conf
[general]

[phones]

exten => _X.,1,Dial(DAHDI/g1/${EXTEN})
exten => _X.,n,Hangup

exten => _XXXXXXXXXXX,1,Dial(DAHDI/g1/${EXTEN:1})
exten => _XXXXXXXXXXX,n,Hangup

exten => 4732000000,1,Dial(SIP/4732000000)
exten => 4732000000,n,Hangup

[sip]

exten => _X.,1,Dial(DAHDI/g1/${EXTEN})
exten => _X.,n,Hangup

exten => _XXXXXXXXXXX,1,Dial(DAHDI/g1/${EXTEN:1})
exten => _XXXXXXXXXXX,n,Hangup
удалить закрыть спам изменить тег редактировать

спросил 2011-03-15 10:44:42 +0400

dj0tst Gravatar dj0tst
71 1 1 3

4 Ответа

4

Решилось установкой busylevel=1. call-limit несмотря на объявление последнего как устаревшего, всеравно работет. При попытке вызова из диалплана SIP/4732000000, при снятой трубке отдается BUSY. К сожалению проверить что в это время идет по ОКСу сейчас возможности нет, но скорее всего решение правильно.

Тему можно закрыть


[4732000000]
secret = 
type = friend
host = dynamic
context = sip
disallow = all
allow = alaw
canreinvite = no
relaxdtmf=yes
dtmfmode = rfc2833
dtmf = rfc2833
nat = yes
qualify = yes
busylevel=1                      ; Signal busy at 1 or more calls
call-limit = 1
ссылка удалить спам редактировать

ответил 2011-03-16 08:50:47 +0400

dj0tst Gravatar dj0tst
71 1 1 3
1

Действительно. Не отдается.

;call-limit=1                    ; permit only 1 outgoing call and 1 incoming call at a time
                             ; from the phone to asterisk (deprecated)
                             ; 1 for the explicit peer, 1 for the explicit user,
                             ; remember that a friend equals 1 peer and 1 user in
                             ; memory
                             ; There is no combined call counter for a "friend"
                             ; so there's currently no way in sip.conf to limit
                             ; to one inbound or outbound call per phone. Use
                             ; the group counters in the dial plan for that.
ссылка удалить убрать флаг спам (2) редактировать

ответил 2011-03-15 14:23:32 +0400

dj0tst Gravatar dj0tst
71 1 1 3

обновил 2011-03-15 14:44:18 +0400

Comments

попробуйте явно занятость отправить (кнопка DND например), и будет верный код. call-limit в случае с потоком, видимо, как то не так работает! um2010 ( 2011-03-15 16:16:11 +0400 )редактировать
1

Можно просто наверное в случае занятости телефона ветвлением в диалплане на BUSY прямо указать в HangUp(17).

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

ответил 2011-03-15 18:08:33 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2685 11 9 37
http://mh.otx.ru/

Comments

это не вариант, надо копать доку! um2010 ( 2011-03-15 20:22:03 +0400 )редактировать
0

а при занятом телефоне по sip BUSY отдается?

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

ответил 2011-03-15 12:27:39 +0400

um2010 Gravatar um2010
2056 69 11 52

Comments

Ребята, все вопросы - в комментариях! mistral ( 2011-03-15 14:43:52 +0400 )редактировать
Поле "Ваш ответ" зачем? um2010 ( 2011-03-15 16:24:41 +0400 )редактировать
Неплохо бы сделать что-то типа Уточняющего Вопроса по теме.. Zavr2008 ( 2011-03-15 20:47:28 +0400 )редактировать
Насколько понял я , после Основного вопроса люди начинают отвечать, вот как раз, чтоб не плодить ответы, реакция на вопрос - само начало диалога должно выполнятся через форму "Ваш ответ", а уже последующая дискуссия относительно точки зрения выполняется в комментариях. Однако мы видим зоркий глаз участника_проекта_модератора и получаем отметку о нарушении за фразу "а при занятом телефоне по sip BUSY отдается?" ДА ДА это оскорбление, спам и вредоносная ссылка! um2010 ( 2011-03-15 20:59:48 +0400 )редактировать
нет, уважаемый. Форма "Ваш ответ" - для ответа на вопрос, а не цепочек встречных вопросов/споров/разборок/выяснения отношений. Ответ на вопрос - это правильный ответ, решение проблемы, которое сразу должно бросаться в глаза, минуя все дискуссии и обсуждения, которые по сути второстепенны. Люди ищут ответы - вместо них тонна вопросов, которые только усложняют поиск как новым посетителям, как и тусовке спецов. Уточняющие вопросы задаем в комментариях, они обычно сразу видны после вопросов топикстартеров. Я уже, например, привык так видеть треды, вы же всю картину портите. Надеюсь, доступно объяснил. mistral ( 2011-03-16 06:25:51 +0400 )редактировать
нука где об этом прочитать мануал или агримент? А то ща придет еще один модератор у которого по другому надо чтоб отвечали. Мой ответ: "а при занятом телефоне по sip BUSY отдается?" мне кажется полным решением проблемы, например! um2010 ( 2011-03-16 07:45:16 +0400 )редактировать
2um2010 Спасибо большое за участие 2Zavr2008 К этому все идет учитывая желание разработчиков asterisk отказаться от использования call-limit в пользу групп. По поводу HangUp в таком случае надо получить статус пира, а IsChanAvailable работает несколько иначе если Вы это имеете ввиду. 2AllModerators Раз уж в топик: кнопку "добавить комментарий" побольше бы, ато только как тред прочитал узнал, что она есть. Да, и поле для комментариев побольше, если правила форума требуют его использования. А um2010 относительно ответа и решения проблемы прав ;) dj0tst ( 2011-03-16 08:52:48 +0400 )редактировать

Ваш ответ

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)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2011-03-15 10:44:42 +0400

Просмотрен: 1,230 раз

Обновлен: Mar 16 '11

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