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

Перехваты в очередях

Asterisk IP PBX 6 сообщений 19.10.2010 12:49 - 21.10.2010 07:52
#1 19.10.2010 12:49

Перехваты в очередях


Добрый день. Есть такая ситуация: в очереди 8 агентов. Звонок настроен по rrmemory. Также агенты могут перехватывать звонки, если звонит у другого номера (вышел и т.п.). Проблема в том, что * временами некорректно определяет занятость агентов. В смысле, может не определить, что агент занят и перенаправляет звонок ему. Соответственно, оттуда - BUSY. И этот BUSY может проползти а внешнюю линию, судя по CDR. Как можно это решить/обойти?
Агент:

users.conf
Code:
[8001]
fullname = 8001
secret = ХХХ
context = ХХХ
type = friend
host = dynamic
disallow = all
allow = alaw,ulaw
call-limit = 3
callgroup=1
pickupgroup=1
t38pt_udptl = yes
limitonpeer=yes
canreinvite=no
dtmf=rfc2833


queues.conf

Code:
[clients]
strategy=rrmemory
timeout=8
retry=1
ringinuse = no
autofill=yes
joinempty=no
leavewhenempty=yes
setinterfacevar=yes
monitor-format=wav

member=SIP/8001
member=SIP/8002
member=SIP/8003
member=SIP/8004
member=SIP/8005
member=SIP/8006
member=SIP/8007
member=SIP/8008
;member=SIP/8009
;member=SIP/8010


Asterisk 1.4.36

_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
#2 20.10.2010 07:35

Хм... Задам вопрос по другому... Может кто-нибудь сталкивался с тем, что в очереди выдается сигнал "занято"? И при каких условиях?
_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
#3 20.10.2010 10:07

Дарагой ты мой, Самаель Smile

Раз уж никто не соизволил ответить, отвечу я. Понятия BUSY в SIP-протоколе нет. Совсем нет. Это во-первых.
Во-вторых, по CDR-ам смотреть течение вызова не получится. Надо ловить ситуевину хотя бы в логе c verbose>3. А еще лучше к этому присовокупить sip-дебаг передачи звонка агенту (если таковая попытка была).
#4 20.10.2010 11:52

Согласен, не совсем четко сформулировал вопрос.
Судя по логам (могу прицепить, но это дикая простыня нереально выделить один номер, т.к. неизвестно, где это проявится, а нагрузка хорошая), абонент сам вешает трубку. Далее лог по одному из номеров.
Code:


SIP/2.0 180 Ringing
Via: SIP/2.0/UDP :5060;branch=z9hG4bK1bb124b0;rport
From: "" ;tag=as0b3f713f
To: ;tag=1c127697340
Call-ID: 47df92257d05f9093e8e340065d7a7e4@
CSeq: 102 INVITE
Contact:
Supported: em,timer,replaces,path,resource-priority
Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE
Server: Audiocodes-Sip-Gateway-/v.6.00A.015.001
Content-Length: 0


Сразу после этого идет такой обмен:

Code:


CANCEL sip:@10.44.8.202:5060 SIP/2.0
Via: SIP/2.0/UDP :5060;branch=z9hG4bK2ec6d522;rport
From: "номер" ;tag=as583c4f63
To:
Call-ID: 459075f5385a0cb41b9f7bbb5e522c38@
CSeq: 102 CANCEL
User-Agent: SSw Class 5
Max-Forwards: 70
Content-Length: 0

Sending to : 5060 (NAT)


SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP :5060;branch=z9hG4bK2ec6d522;received=89.209.9.8;rport=5060
From: "" ;tag=as583c4f63
To: ;tag=as6b6aad0f
Call-ID: 459075f5385a0cb41b9f7bbb5e522c38@
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces
Content-Length: 0


SIP/2.0 200 OK
Via: SIP/2.0/UDP :5060;branch=z9hG4bK2ec6d522;received=89.209.9.8;rport=5060
From: "" ;tag=as583c4f63
To: ;tag=as6b6aad0f
Call-ID: 459075f5385a0cb41b9f7bbb5e522c38@
CSeq: 102 CANCEL
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces
Content-Length: 0

Reliably Transmitting (no NAT) to :5060:
CANCEL sip:8004@:5060 SIP/2.0
Via: SIP/2.0/UDP :5060;branch=z9hG4bK1bb124b0;rport
From: "" ;tag=as0b3f713f
To:
Call-ID: 47df92257d05f9093e8e340065d7a7e4@
CSeq: 102 CANCEL
User-Agent: Asterisk PBX
Max-Forwards: 70
Content-Length: 0


ACK sip:@10.44.8.202:5060 SIP/2.0
Via: SIP/2.0/UDP :5060;branch=z9hG4bK2ec6d522;rport
From: "" ;tag=as583c4f63
To: ;tag=as6b6aad0f
Contact:
Call-ID: 459075f5385a0cb41b9f7bbb5e522c38@
CSeq: 102 ACK
User-Agent: SSw Class 5
Max-Forwards: 70
Content-Length: 0


SIP/2.0 487 Request Terminated
Via: SIP/2.0/UDP :5060;branch=z9hG4bK1bb124b0;rport
From: "" ;tag=as0b3f713f
To: ;tag=1c127697340
Call-ID: 47df92257d05f9093e8e340065d7a7e4@
CSeq: 102 INVITE
Supported: em,timer,replaces,path,resource-priority
Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE
Server: Audiocodes-Sip-Gateway-/v.6.00A.015.001
Reason: SIP ;cause=487 ;text="487 Request Terminated"
Content-Length: 0

Transmitting (no NAT) to :5060:
ACK sip:8004@:5060 SIP/2.0
Via: SIP/2.0/UDP :5060;branch=z9hG4bK1bb124b0;rport
From: "" ;tag=as0b3f713f
To: ;tag=1c127697340
Contact:
Call-ID: 47df92257d05f9093e8e340065d7a7e4@
CSeq: 102 ACK
User-Agent: Asterisk PBX
Max-Forwards: 70
Content-Length: 0


По SIP, что касается этого номера - все. Но в CDR disposition записывается как BUSY. Т.е. проблема чисто в отображении, как я понимаю.

_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
#5 20.10.2010 14:05

Вот Smile Сразу и отвечать приятно, и причину видно.

Несмотря на записи в CDR'ах, вызов отбивается со стороны оператора (сообщение CANCEL). Так что, дорогой товарищ, можешь спать спокойно - звонящий "сам дурак", не хочет висеть в очереди. Это раз.

Во-вторых, если это SIP-лог из разряда "Соответственно, оттуда - BUSY", то нифига оттуда не BUSY, а, самый что нинаесть, Ringing.
#6 21.10.2010 07:52

Это я увидел, что там RINGING. При этом в CDR попала запись не NO ANSWER, а BUSY. Мелочь, а неприятно. Надо эту ситуацию просто донести до заказчика, что это не баг, а фича.
_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones