Проблеммы с определением продолжительности разговора.
Сообщений: 84
|
Проблеммы с определением продолжительности разговора.
Доброго времени суток.
У меня имеются проблеммы с Asterisk, не правильные данные
по времени разговора в CDR'ах.
Стоит астериск на FreeBSD 6, сама версия астериска 1.2.9.1.
Работает это всё в связке СофтФон eyeBeam (или LinkSys pub, разницы ни какой) --> Asterisk -->(по SIP)
Cisco 5350 -->(по E1) М-200 (АТС потоковая) --> По потоку на город.
И так было проведенно тестирование нами, что бы определить,
что происходит в астереске, тем самым удалось установить
1) При наборе корректного номера и разговоре около 7 секунд Asterisk определяет продолжительность 28 секунд, т.е. он прибавляет время набора номера.
2) При наборе несуществующего номера Asterisk показывает то, что разговор состоялся «ANSWERED» и определяет продолжительность разговора, включая время соединения.
3) При наборе на ошибочный (телефонна нет такого в городе, должно вернуть дисконнект по идеи) номер Asterisk показывает то, что разговор состоялся «ANSWERED» и определяет продолжительность разговора, включая время соединения.
4) При наборе на неполный номер (т.е. телефона нет реально такого, но по префиксу его выкинет на город, а от туда должно вернуть дисконнект) Asterisk показывает то, что разговор состоялся «ANSWERED» и определяет продолжительность разговора, включая время соединения.
Сам грешу на конфиги Asterisk или версию (баги может имеются?), скорей всего просто не так что-то именно с этим.
Прошу помощи у вас форумчане, кто что по советует. Также прикладываю конфиги.
----------------------------sip.conf---------------------------
[general]
context=default ; Default context for incoming calls
allowguest=yes ; Allow or reject guest calls (default is yes, this can also be set to 'osp'
bindport=5060 ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=192.168.110.49 ; IP address to bind to (0.0.0.0 binds to all)
srvlookup=yes ; Enable DNS SRV lookups on outbound calls
disallow=all ; First disallow all codecs
allow=ulaw ; Allow codecs in order of preference
dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833
[942000]
username=942000
type=friend
secret=942000
record_out=Always
record_in=Always
qualify=yes
port=5060
nat=no
mailbox=107@default
host=dynamic
dtmfmode=rfc2833
canreinvite=yes
callgroup=1
callerid="942000"<942000>
stale=false
allow=all
[942020]
username=942020
type=friend
secret=942020
record_out=Always
record_in=Always
qualify=yes
port=5060
nat=no
mailbox=107@default
host=dynamic
dtmfmode=rfc2833
canreinvite=yes
callgroup=1
callerid="942020"<942020>
stale=false
allow=all
---------------------------------------------------------------
----------------------------------extensions.conf--------------
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=no
[globals]
CONSOLE=Console/dsp ; Console interface for demo
IAXINFO=guest ; IAXtel username/password
TRUNK=Zap/g2 ; Trunk interface
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
[dundi-e164-canonical]
[dundi-e164-customers]
[dundi-e164-via-pstn]
[dundi-e164-local]
include => dundi-e164-canonical
include => dundi-e164-customers
include => dundi-e164-via-pstn
[dundi-e164-switch]
switch => DUNDi/e164
[dundi-e164-lookup]
include => dundi-e164-local
include => dundi-e164-switch
[macro-dundi-e164]
exten => s,1,Goto(${ARG1},1)
include => dundi-e164-lookup
[iaxtel700]
exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel)
[iaxprovider]
[trunkint]
exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
exten => _9011.,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[trunkld]
exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
exten => _91NXXNXXXXXX,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[trunklocal]
exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[trunktollfree]
exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[international]
ignorepat => 9
include => longdistance
include => trunkint
[longdistance]
ignorepat => 9
include => local
include => trunkld
[local]
ignorepat => 9
include => default
include => parkedcalls
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider
[macro-stdexten];
exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
[macro-stdPrivacyexten];
exten => s,1,Dial(${ARG2},20|p) ; Ring the interface, 20 seconds maximum, call screening option (or use P for databased call screening)
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => s-DONTCALL,1,Goto(${ARG3},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
exten => s-TORTURE,1,Goto(${ARG4},s,1) ; Callee chose to send this call to a telemarketer torture script.
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
[demo]
[default]
#exten => _8750X.,1,Answer
#exten => _8750X.,2,Wait,1
#exten => _8750X.,3,Background(telephone-number)
#exten => _8750X.,4,Hungup
exten => _X.,1,Answer
exten => _X.,2,Wait,1
exten => _X.,3,Dial(SIP/3212${EXTEN:}@192.168.110.56,60,t)
exten => _0X.,1,Answer
exten => _0X.,2,Wait,1
exten => _0X.,3,Dial(SIP/${EXTEN:}@192.168.110.56,60,t)
exten => _8X.,1,Answer
exten => _8X.,2,Wait,1
exten => _8X.,3,Dial(SIP/${EXTEN:}@192.168.110.56,60,t)
exten => _810X.,1,Answer
exten => _810X.,2,Wait,1
exten => _810X.,3,Dial(SIP/${EXTEN:}@192.168.110.56,60,t)
exten => 942000,1,Dial(SIP/942000,60,t)
exten => 942020,1,Dial(SIP/942020,60,t)
---------------------------------------------------------------
|
Сообщений: 84
|
Re: Проблеммы с определением продолжительности разговора.
Прошу прощенья за формат текста, вставил из блокнота, там сначало всё набрал, было всё хорошо :(
|
Сообщений: 84
|
Re: Проблеммы с определением продолжительности разговора.
Доброго времени суток.
У меня имеются проблеммы с Asterisk, не правильные данные
по времени заговора в CDR'ах.
Стоит астериск на FreeBSD 6, сама версия астериска 1.2.9.1.
Работает это всё в связке СофтФон eyeBeam (или LinkSys pub, разницы ни какой) --> Asterisk -->(по SIP)
Cisco 5350 -->(по E1) М-200 (АТС потоковая) --> По потоку на город.
И так было проведенно тестирование нами, что бы определить,
что происходит в астереске, тем самым удалось установить
1) При наборе корректного номера и разговоре около 7 секунд Asterisk определяет продолжительность 28 секунд, т.е. он прибавляет время набора номера.
2) При наборе несуществующего номера Asterisk показывает то, что разговор состоялся «ANSWERED» и определяет продолжительность разговора, включая время соединения.
3) При наборе на ошибочный (телефонна нет такого в городе, должно вернуть дисконнект по идеи) номер Asterisk показывает то, что разговор состоялся «ANSWERED» и определяет продолжительность разговора, включая время соединения.
4) При наборе на неполный номер (т.е. телефона нет реально такого, но по префиксу его выкинет на город, а от туда должно вернуть дисконнект) Asterisk показывает то, что разговор состоялся «ANSWERED» и определяет продолжительность разговора, включая время соединения.
Сам грешу на конфиги Asterisk или версию (баги может имеются?), скорей всего просто не так что-то именно с этим.
Прошу помощи у вас форумчане, кто что по советует. Также прикладываю конфиги.
----------------------------sip.conf------------------------------------------------
[general]
context=default ; Default context for incoming calls
allowguest=yes ; Allow or reject guest calls (default is yes, this can also be set to 'osp'
bindport=5060 ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=192.168.110.49 ; IP address to bind to (0.0.0.0 binds to all)
srvlookup=yes ; Enable DNS SRV lookups on outbound calls
disallow=all ; First disallow all codecs
allow=ulaw ; Allow codecs in order of preference
dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833
[942000]
username=942000
type=friend
secret=942000
record_out=Always
record_in=Always
qualify=yes
port=5060
nat=no
mailbox=107@default
host=dynamic
dtmfmode=rfc2833
canreinvite=yes
callgroup=1
callerid="942000"<942000>
stale=false
allow=all
[942020]
username=942020
type=friend
secret=942020
record_out=Always
record_in=Always
qualify=yes
port=5060
nat=no
mailbox=107@default
host=dynamic
dtmfmode=rfc2833
canreinvite=yes
callgroup=1
callerid="942020"<942020>
stale=false
allow=all
----------------------------------------------------------------------------------
----------------------------------extensions.conf---------------------------------
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no
priorityjumping=no
[globals]
CONSOLE=Console/dsp ; Console interface for demo
IAXINFO=guest ; IAXtel username/password
TRUNK=Zap/g2 ; Trunk interface
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
[dundi-e164-canonical]
[dundi-e164-customers]
[dundi-e164-via-pstn]
[dundi-e164-local]
include => dundi-e164-canonical
include => dundi-e164-customers
include => dundi-e164-via-pstn
[dundi-e164-switch]
switch => DUNDi/e164
[dundi-e164-lookup]
include => dundi-e164-local
include => dundi-e164-switch
[macro-dundi-e164]
exten => s,1,Goto(${ARG1},1)
include => dundi-e164-lookup
[iaxtel700]
exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel)
[iaxprovider]
[trunkint]
exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
exten => _9011.,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[trunkld]
exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
exten => _91NXXNXXXXXX,n,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[trunklocal]
exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[trunktollfree]
exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
[international]
ignorepat => 9
include => longdistance
include => trunkint
[longdistance]
ignorepat => 9
include => local
include => trunkld
[local]
ignorepat => 9
include => default
include => parkedcalls
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider
[macro-stdexten];
exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
[macro-stdPrivacyexten];
exten => s,1,Dial(${ARG2},20|p) ; Ring the interface, 20 seconds maximum, call screening option (or use P for databased call screening)
exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => s-DONTCALL,1,Goto(${ARG3},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
exten => s-TORTURE,1,Goto(${ARG4},s,1) ; Callee chose to send this call to a telemarketer torture script.
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain
[demo]
[default]
#exten => _8750X.,1,Answer
#exten => _8750X.,2,Wait,1
#exten => _8750X.,3,Background(telephone-number)
#exten => _8750X.,4,Hungup
exten => _X.,1,Answer
exten => _X.,2,Wait,1
exten => _X.,3,Dial(SIP/3212${EXTEN:}@192.168.110.56,60,t)
exten => _0X.,1,Answer
exten => _0X.,2,Wait,1
exten => _0X.,3,Dial(SIP/${EXTEN:}@192.168.110.56,60,t)
exten => _8X.,1,Answer
exten => _8X.,2,Wait,1
exten => _8X.,3,Dial(SIP/${EXTEN:}@192.168.110.56,60,t)
exten => _810X.,1,Answer
exten => _810X.,2,Wait,1
exten => _810X.,3,Dial(SIP/${EXTEN:}@192.168.110.56,60,t)
exten => 942000,1,Dial(SIP/942000,60,t)
exten => 942020,1,Dial(SIP/942020,60,t)
----------------------------------------------------------------------------------
|
Сообщений: 84
|
Re: Проблеммы с определением продолжительности разговора.
Вот теперь всё холосо, да простят меня админы за избыточность :)
|
Сообщений: 84
|
Re: Проблеммы с определением продолжительности разговора.
Господа, не молчите, скажите, куда копать хотябы.
|
|