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

Asterisk звонит на sip, город и мобильные - но не принимает звонки

Newbies/FAQ Forum 6 сообщений 23.11.2010 11:58 - 25.11.2010 12:07
#1 23.11.2010 11:58

Asterisk звонит на sip, город и мобильные - но не принимает звонки


Версия астериска: Asterisk 1.4.21.2~dfsg-3ubuntu2.1
ОС: Linux - Ububntu server 10.04 x64

Настроил астериск, попробовал позвонить на другой SIP (sipnet) и появилась проблема, пока я не сделаю перевод на себя же то друг- друга не услышим.
потом пробовал на г8ород позвонить - все нормально звонит и всё слышно - на мобильные то же самое всё нормально.

Пробовал позвонить с города на астериск - говорят что номер не правильный, пробовал с с другого sipnet там пишет что вызов завершон.
Кто знает в чём проблема?
#2 23.11.2010 12:07

в настройках
#3 23.11.2010 12:29

adt2k wrote:
в настройках

мм а по точнее?? Я настраивал через интерфейс...

вот конфиги:
sip.conf

    Code:
    ;!
    ;! Automatically generated configuration file
    ;! Filename: sip.conf (/etc/asterisk/sip.conf)
    ;! Generator: Manager
    ;! Creation Date: Mon Nov 22 23:43:29 2010
    ;!
    [general]
    context = default
    allowoverlap = no
    ;allowtransfer=no ; Disable all transfers (unless enabled in peers or users)
    tcpenable = no ; Enable server for incoming TCP connections (default is no)
    tcpbindaddr = 0.0.0.0 ; IP address for TCP server to bind to (0.0.0.0 binds to all interfaces)
    srvlookup = yes
    subscribecontext = device-hints,device-hints,device-hints,device-hints,device-hints,device-hints,device-hints,device-hints,device-hints,device-hints,device-hints,device-hints,device-hints
    subscribecontext = device-hints
    subscribecontext = device-hints
    subscribecontext = device-hints
    subscribecontext = device-hints
    subscribecontext = device-hints
    subscribecontext = device-hints
    allowexternaldomains = yes
    allowguest = yes
    allowsubscribe = yes
    allowtransfer = yes
    alwaysauthreject = no
    autodomain = no
    callevents = no
    checkmwi = 10
    compactheaders = no
    defaultexpiry = 120
    dumphistory = no
    externrefresh = 10
    g726nonstandard = no
    jbenable = no
    jbforce = no
    jblog = no
    maxcallbitrate = 384
    maxexpiry = 3600
    minexpiry = 60
    mohinterpret = 1234
    notifyringing = yes
    pedantic = no
    progressinband = never
    promiscredir = no
    realm = asterisk
    recordhistory = no
    registerattempts = 0
    registertimeout = 20
    relaxdtmf = no
    sendrpid = no
    sipdebug = no
    t1min = 100
    t38pt_udptl = no
    tos_audio = none
    tos_sip = none
    tos_video = none
    trustrpid = no
    useragent = TEXSID
    usereqphone = yes
    videosupport = no
    disallow = all
    allow =

    dtmfmode = rfc2833
    context = from-office
    type = friend

    [natted-phone](!,basic-options); another template inheriting basic-options
    nat = yes
    directmedia = no
    host = dynamic

    [public-phone](!,basic-options); another template inheriting basic-options
    nat = no
    directmedia = yes

    [my-codecs](!); a template for my preferred codecs
    disallow = all
    allow = ilbc
    allow = g729
    allow = gsm
    allow = g723
    allow = ulaw

    [ulaw-phone](!); and another one for ulaw-only
    disallow = all
    allow = ulaw ; Yet a third option... use UPDATE for media path redirection,

    [basic-options](!); a template
    dtmfmode = rfc2833
    context = from-office
    type = friend

    [natted-phone](!,basic-options); another template inheriting basic-options
    nat = yes
    directmedia = no
    host = dynamic

    [public-phone](!,basic-options); another template inheriting basic-options
    nat = no
    directmedia = yes

    [my-codecs](!); a template for my preferred codecs
    disallow = all
    allow = ilbc
    allow = g729
    allow = gsm
    allow = g723
    allow = ulaw

    [ulaw-phone](!); and another one for ulaw-only
    disallow = all
    allow = ulaw


users.conf

    Code:
    ;!
    ;! Automatically generated configuration file
    ;! Filename: users.conf (/etc/asterisk/users.conf)
    ;! Generator: Manager
    ;! Creation Date: Mon Nov 22 23:47:41 2010
    ;!
    [general]
    ;
    ; Full name of a user
    ;
    fullname = New User
    ;
    ; Starting point of allocation of extensions
    ;
    userbase = 6000
    ;
    ; Create voicemail mailbox and use use macro-stdexten
    ;
    hasvoicemail = yes
    ;
    ; Set voicemail mailbox 6000 password to 1234
    ;
    vmsecret = 1234
    ;
    ; Create SIP Peer
    ;
    hassip = yes
    ;
    ; Create IAX friend
    ;
    hasiax = yes
    ;
    ; Create H.323 friend
    ;
    ;hash323 = yes
    ;
    ; Create manager entry
    ;
    hasmanager = no
    ;
    ; Set permissions for manager entry (see manager.conf.sample for documentation)
    ; (defaults to *all* permissions)
    ;managerread = system,call,log,verbose,command,agent,user,config
    ;managerwrite = system,call,log,verbose,command,agent,user,config
    ;
    ; Remaining options are not specific to users.conf entries but are general.
    ;
    callwaiting = yes
    threewaycalling = yes
    callwaitingcallerid = yes
    transfer = yes
    canpark = yes
    cancallforward = yes
    callreturn = yes
    callgroup = 1
    pickupgroup = 1

    [sipnet]
    host = sipnet.ru
    username = NUMBER
    secret = rhexbyby
    trunkname = sipnet ; GUI metadata
    context = DID_sipnet
    group = null
    hasexten = no
    hasiax = no
    hassip = yes
    registeriax = no
    registersip = yes
    trunkstyle = voip
    fromdomain = sipnet.ru
    insecure = no
    disallow = all
    allow = ulaw,alaw,gsm,g726

    [6000]
    username = 6000
    transfer = yes
    mailbox = 6000
    call-limit = 100
    type = peer
    fullname = Vasya Pupkin
    registersip = no
    host = dynamic
    callgroup = 1
    type = peer
    context = DLPN_DialPlan1
    cid_number = 6000
    hasvoicemail = no
    vmsecret =
    email =
    threewaycalling = no
    hasdirectory = yes
    callwaiting = no
    hasmanager = yes
    hasagent = yes
    hassip = yes
    hasiax = no
    secret = PASSWORD
    nat = yes
    canreinvite = no
    dtmfmode = rfc2833
    insecure = no
    pickupgroup = 1
    autoprov = no
    label =
    macaddress =
    linenumber = 1
    LINEKEYS = 1
    managerread = system,call,log,verbose,command,agent,user,config,originate
    managerwrite = system,call,log,verbose,command,agent,user,config,originate
    disallow = all
    allow = ulaw,gsm



    Extensions.conf

    Code:
    ;!
    ;! Automatically generated configuration file
    ;! Filename: extensions.conf (/etc/asterisk/extensions.conf)
    ;! Generator: Manager
    ;! Creation Date: Mon Nov 22 23:57:08 2010
    ;!
    [general]
    static = yes
    writeprotect = no
    clearglobalvars = no

    [globals]
    CONSOLE = Console/dsp ; Console interface for demo
    ;CONSOLE=DAHDI/1
    ;CONSOLE=Phone/phone0
    IAXINFO = guest ; IAXtel username/password
    ;IAXINFO=myuser:mypass
    TRUNK = DAHDI/G2 ; Trunk interface


    TRUNKMSD = 1 ; MSD digits to strip (usually 1 or 0)
    FEATURES =
    DIALOPTIONS =
    RINGTIME = 20
    FOLLOWMEOPTIONS =
    PAGING_HEADER = Intercom
    sipnet = SIP/sipnet
    GLOBAL_OUTBOUNDCID = 0031733237
    GLOBAL_OUTBOUNDCIDNAME = 0031733237
    CID_sipnet = 0031733237
    ;TRUNK=IAX2/user:pass@provider

    [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/${GLOBAL(IAXINFO)}@iaxtel.com/${EXTEN:1}@iaxtel)

    [iaxprovider]
    ;switch => IAX2/user:[key]@myserver/mycontext
    [trunkint]
    exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
    exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

    [trunkld]
    exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
    exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

    [trunklocal]
    exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

    [trunktollfree]
    exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
    exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
    exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
    exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})

    [international]
    ignorepat => 9
    include => longdistance
    include => trunkint

    [longdistance]
    ignorepat => 9
    include => local
    include => trunkld

    [local]
    ignorepat => 9
    include => default
    include => trunklocal
    include => iaxtel700
    include => trunktollfree
    include => iaxprovider
    ;Include parkedcalls (or the context you define in features conf)
    ;to enable call parking.
    include => parkedcalls



    [macro-trunkdial]
    exten => s,1,Dial(${ARG1})
    exten => s,n,Goto(s-${DIALSTATUS},1)
    exten => s-NOANSWER,1,Hangup
    exten => s-BUSY,1,Hangup
    exten => _s-.,1,NoOp

    [stdexten]
    exten => _X.,50000(stdexten),NoOp(Start stdexten)
    exten => _X.,n,Set(LOCAL(ext)=${EXTEN})
    exten => _X.,n,Set(LOCAL(dev)=${ARG1})
    exten => _X.,n,Set(LOCAL(cntx)=${ARG2})
    exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
    exten => _X.,n,Dial(${dev},20) ; Ring the interface, 20 seconds maximum
    exten => _X.,n,Goto(stdexten-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
    exten => stdexten-NOANSWER,1,Voicemail(${mbx},u) ; If unavailable, send to voicemail w/ unavail announce
    exten => stdexten-NOANSWER,n,NoOp(Finish stdexten NOANSWER)
    exten => stdexten-NOANSWER,n,Return() ; If they press #, return to start
    exten => stdexten-BUSY,1,Voicemail(${mbx},b)
    ; If busy, send to voicemail w/ busy announce
    exten => stdexten-BUSY,n,NoOp(Finish stdexten BUSY)
    exten => stdexten-BUSY,n,Return() ; If they press #, return to start
    exten => _stdexten-.,1,Goto(stdexten-NOANSWER,1) ; Treat anything else as no answer
    exten => a,1,VoicemailMain(${mbx}) ; If they press *, send the user into VoicemailMain
    exten => a,n,Return()

    [stdPrivacyexten]
    exten => _X.,60000(stdPrivacyexten),NoOp(Start stdPrivacyexten)
    exten => _X.,n,Set(LOCAL(ext)=${ARG1})
    exten => _X.,n,Set(LOCAL(dev)=${ARG2})
    exten => _X.,n,Set(LOCAL(dontcntx)=${ARG3})
    exten => _X.,n,Set(LOCAL(tortcntx)=${ARG4})
    exten => _X.,n,Set(LOCAL(cntx)=${ARG5})
    exten => _X.,n,Set(LOCAL(mbx)="${ext}"$["${cntx}" ? "@${cntx}" :: ""])
    exten => _X.,n,Dial(${dev},20,p) ; Ring the interface, 20 seconds maximum, call screening
    ; option (or use P for databased call _X.creening)
    exten => _X.,n,Goto(stdexten-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
    exten => stdexten-NOANSWER,1,Voicemail(${mbx},u) ; If unavailable, send to voicemail w/ unavail announce
    exten => stdexten-NOANSWER,n,NoOp(Finish stdPrivacyexten NOANSWER)
    exten => stdexten-NOANSWER,n,Return() ; If they press #, return to start
    exten => stdexten-BUSY,1,Voicemail(${mbx},b) ; If busy, send to voicemail w/ busy announce
    exten => stdexten-BUSY,n,NoOp(Finish stdPrivacyexten BUSY)
    exten => stdexten-BUSY,n,Return() ; If they press #, return to start
    exten => stdexten-DONTCALL,1,Goto(${dontcntx},s,1) ; Callee chose to send this call to a polite "Don't call again" script.
    exten => stdexten-TORTURE,1,Goto(${tortcntx},s,1) ; Callee chose to send this call to a telemarketer torture script.
    exten => _stdexten-.,1,Goto(stdexten-NOANSWER,1) ; Treat anything else as no answer
    exten => a,1,VoicemailMain(${mbx}) ; If they press *, send the user into VoicemailMain
    exten => a,n,Return

    [macro-page];
    exten => s,1,ChanIsAvail(${ARG1},s) ; s is for ANY call
    exten => s,n,GoToIf([${AVAILORIGCHAN} = ""]?fail:autoanswer)
    exten => s,n(autoanswer),Set(_ALERT_INFO="RA") ; This is for the PolyComs
    exten => s,n,SIPAddHeader(Call-Info: Answer-After=0) ; This is for the Grandstream, Snoms, and Others
    exten => s,n,NoOp() ; Add others here and Post on the Wiki!!!!
    exten => s,n,Dial(${ARG1})
    exten => s,n(fail),Hangup

    [demo]
    include => stdexten
    ;
    ; We start with what to do when a call first comes in.
    ;
    exten => s,1,Wait(1) ; Wait a second, just for fun
    exten => s,n,Answer ; Answer the line
    exten => s,n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
    exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
    exten => s,n(restart),BackGround(demo-congrats) ; Play a congratulatory message
    exten => s,n(instruct),BackGround(demo-instruct) ; Play some instructions
    exten => s,n,WaitExten ; Wait for an extension to be dialed.
    exten => 2,1,BackGround(demo-moreinfo) ; Give some more information.
    exten => 2,n,Goto(s,instruct)
    exten => 3,1,Set(LANGUAGE()=fr) ; Set language to french
    exten => 3,n,Goto(s,restart) ; Start with the congratulations
    exten => 1000,1,Goto(default,s,1)
    ;
    ; We also create an example user, 1234, who is on the console and has
    ; voicemail, etc.
    ;
    exten => 1234,1,Playback(transfer,skip) ; "Please hold while..."
    ; (but skip if channel is not up)
    exten => 1234,n,Gosub(${EXTEN},stdexten(${GLOBAL(CONSOLE)}))
    exten => 1234,n,Goto(default,s,1) ; exited Voicemail
    exten => 1235,1,Voicemail(1234,u) ; Right to voicemail
    exten => 1236,1,Dial(Console/dsp) ; Ring forever
    exten => 1236,n,Voicemail(1234,b) ; Unless busy
    ;
    ; # for when they're done with the demo
    ;
    exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo"
    exten => #,n,Hangup ; Hang them up.
    ;
    ; A timeout and "invalid extension rule"
    ;
    exten => t,1,Goto(#,1) ; If they take too long, give up
    exten => i,1,Playback(invalid) ; "That's not valid, try again"
    ;
    ; Create an extension, 500, for dialing the
    ; Asterisk demo.
    ;
    exten => 500,1,Playback(demo-abouttotry) ; Let them know what's going on
    exten => 500,n,Dial(IAX2/guest@pbx.digium.com/s@default) ; Call the Asterisk demo
    exten => 500,n,Playback(demo-nogo) ; Couldn't connect to the demo site
    exten => 500,n,Goto(s,6) ; Return to the start over message.
    ;
    ; Create an extension, 600, for evaluating echo latency.
    ;
    exten => 600,1,Playback(demo-echotest) ; Let them know what's going on
    exten => 600,n,Echo ; Do the echo test
    exten => 600,n,Playback(demo-echodone) ; Let them know it's over
    exten => 600,n,Goto(s,6) ; Start over
    ;
    ; You can use the Macro Page to intercom a individual user
    exten => 76245,1,Macro(page,SIP/Grandstream1)
    ; or if your peernames are the same as extensions
    exten => _7XXX,1,Macro(page,SIP/${EXTEN})
    ;
    ;
    ; System Wide Page at extension 7999
    ;
    exten => 7999,1,Set(TIMEOUT(absolute)=60)
    exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n,d)
    ; Give voicemail at extension 8500
    ;
    exten => 8500,1,VoicemailMain
    exten => 8500,n,Goto(s,6)
    ;
    ; Here's what a phone entry would look like (IXJ for example)
    ;
    ;exten => 1265,1,Dial(Phone/phone0,15)
    ;exten => 1265,n,Goto(s,5)
    ;
    ; The page context calls up the page macro that sets variables needed for auto-answer
    ; It is in is own context to make calling it from the Page() application as simple as
    ; Local/{peername}@page
    ;
    [page]
    exten => _X.,1,Macro(page,SIP/${EXTEN})


    [default]
    exten = o,1,Goto(default,6000,1)


    [macro-stdexten]
    exten = s,1,Set(__DYNAMIC_FEATURES=${FEATURES})
    exten = s,2,Set(ORIG_ARG1=${ARG1})
    exten = s,3,GotoIf($["${FOLLOWME_${ARG1}}" = "1"]?6:4)
    exten = s,4,Dial(${ARG2},${RINGTIME},${DIALOPTIONS})
    exten = s,5,Goto(s-${DIALSTATUS},1)
    exten = s,6,Macro(stdexten-followme,${ARG1},${ARG2})
    exten = s-NOANSWER,1,Voicemail(${ORIG_ARG1},u)
    exten = s-NOANSWER,2,Goto(default,s,1)
    exten = s-BUSY,1,Voicemail(${ORIG_ARG1},b)
    exten = s-BUSY,2,Goto(default,s,1)
    exten = _s-.,1,Goto(s-NOANSWER,1)
    exten = a,1,VoicemailMain(${ORIG_ARG1})

    [macro-stdexten-followme]
    exten = s,1,Answer
    exten = s,2,Set(ORIG_ARG1=${ARG1})
    exten = s,3,Dial(${ARG2},${RINGTIME},${DIALOPTIONS})
    exten = s,4,Set(__FMCIDNUM=${CALLERID(num)})
    exten = s,5,Set(__FMCIDNAME=${CALLERID(name)})
    exten = s,6,Followme(${ORIG_ARG1},${FOLLOWMEOPTIONS})
    exten = s,7,Voicemail(${ORIG_ARG1},u)
    exten = s-NOANSWER,1,Voicemail(${ORIG_ARG1},u)
    exten = s-BUSY,1,Voicemail(${ORIG_ARG1},b)
    exten = s-BUSY,2,Goto(default,s,1)
    exten = _s-.,1,Goto(s-NOANSWER,1)
    exten = a,1,VoicemailMain(${ORIG_ARG1})

    [macro-pagingintercom]
    exten = s,1,SIPAddHeader(Alert-Info: ${PAGING_HEADER})
    exten = s,2,Page(${ARG1},${ARG2})
    exten = s,3,Hangup

    [conferences]

    [ringgroups]

    [queues]

    [voicemenus]
    exten = 7000,1,Goto(voicemenu-custom-1,s,1)

    [voicemailgroups]

    [directory]

    [page_an_extension]

    [pagegroups]

    [macro-undefined]
    exten = s,1,Set(CALLERID(all)=${IF($[${LEN(${ARG4})} > 2]?${ARG4}:)})
    exten = s,n,Goto(${ARG1},${ARG2},${ARG3})

    [macro-trunkdial-failover-0.3]
    exten = s,1,GotoIf($[${LEN(${FMCIDNUM})} > 6]?1-fmsetcid,1)
    exten = s,n,GotoIf($[${LEN(${GLOBAL_OUTBOUNDCIDNAME})} > 1]?1-setgbobname,1)
    exten = s,n,Set(CALLERID(num)=${IF($[${LEN(${CID_${CALLERID(num)}})} > 2]?${CID_${CALLERID(num)}}:)})
    exten = s,n,Set(CALLERID(all)=${IF($[${LEN(${ARG5})} > 2]?${ARG5}:)})
    exten = s,n,GotoIf($[${LEN(${CALLERID(num)})} > 6]?1-dial,1)
    exten = s,n,Set(CALLERID(all)=${IF($[${LEN(${CID_${ARG3}})} > 6]?${CID_${ARG3}}:${GLOBAL_OUTBOUNDCID})})
    exten = s,n,Set(CALLERID(all)=${IF($[${LEN(${ARG5})} > 2]?${ARG5}:)})
    exten = s,n,Goto(1-dial,1)
    exten = 1-setgbobname,1,Set(CALLERID(name)=${GLOBAL_OUTBOUNDCIDNAME})
    exten = 1-setgbobname,n,Goto(s,3)
    exten = 1-fmsetcid,1,Set(CALLERID(num)=${FMCIDNUM})
    exten = 1-fmsetcid,n,Set(CALLERID(name)=${FMCIDNAME})
    exten = 1-fmsetcid,n,Goto(s,4)
    exten = 1-dial,1,Dial(${ARG1})
    exten = 1-dial,n,Gotoif(${LEN(${ARG2})} > 0 ?1-${DIALSTATUS},1:1-out,1)
    exten = 1-CHANUNAVAIL,1,Dial(${ARG2})
    exten = 1-CHANUNAVAIL,n,Hangup()
    exten = 1-CONGESTION,1,Dial(${ARG2})
    exten = 1-CONGESTION,n,Hangup()
    exten = 1-out,1,Hangup()

    [queue-member-manager]
    exten = handle_member,1,Verbose(2, Looping through queues to log in or out queue members)
    exten = handle_member,n,Set(thisActiveMember=${CHANNEL(channeltype)}/${CHANNEL(peername)})
    exten = handle_member,n,Set(queue_field=1)
    exten = handle_member,n,Set(thisQueueXtn=${CUT(QUEUES,\,,${queue_field})})
    exten = handle_member,n,While($[${EXISTS(${thisQueueXtn})}])
    exten = handle_member,n,Macro(member-loginlogout)
    exten = handle_member,n,Set(queue_field=$[${queue_field} + 1])
    exten = handle_member,n,Set(thisQueueXtn=${CUT(QUEUES,\,,${queue_field})})
    exten = handle_member,n,EndWhile()

    [macro-member-loginlogout]
    exten = s,1,Verbose(2, Logging queue member in or out of the request queue)
    exten = s,n,Set(thisQueue=${thisQueueXtn})
    exten = s,n,Set(queueMembers=${QUEUE_MEMBER_LIST(${thisQueue})})
    exten = s,n,MacroIf("${queueMembers}" = ""]?q_login)
    exten = s,n,Set(field=1)
    exten = s,n,Set(logged_in=0)
    exten = s,n,Set(thisQueueMember=${CUT(queueMembers,\,,${field})})
    exten = s,n,While($[${EXISTS(${thisQueueMember})}])
    exten = s,n,GotoIf($["${thisQueueMember}" != "${thisActiveMember}"]?check_next)
    exten = s,n,Set(logged_in=1)
    exten = s,n,ExitWhile()
    exten = s,n(check_next),Set(field=$[${field} + 1])
    exten = s,n,Set(thisQueueMember=${CUT(queueMembers,\,,${field})})
    exten = s,n,EndWhile()
    exten = s,n,MacroIf($[${logged_in} = 0]?q_login:q_logout)

    [macro-q_login]
    exten = s,1,Verbose(2, Logging ${thisActiveMember} into the ${thisQueue} queue)
    exten = s,n,AddQueueMember(${thisQueue},${thisActiveMember})
    exten = s,n,Playback(silence/1)
    exten = s,n,ExecIf($["${AQMSTATUS}" = "ADDED"]?Playback(agent-loginok):Playback(an-error-has-occurred))

    [macro-q_logout]
    exten = s,1,Verbose(2, Logged ${thisActiveMember} out of ${thisQueue} queue)
    exten = s,n,RemoveQueueMember(${thisQueue},${thisActiveMember})
    exten = s,n,Playback(silence/1)
    exten = s,n,ExecIf($["${AQMSTATUS}" = "REMOVED"]?Playback(agent-loggedoff):Playback(an-error-has-occurred))

    [asterisk_guitools]
    exten = executecommand,1,System(${command})
    exten = executecommand,n,Hangup()
    exten = record_vmenu,1,Answer
    exten = record_vmenu,n,Playback(vm-intro)
    exten = record_vmenu,n,Record(${var1})
    exten = record_vmenu,n,Playback(vm-saved)
    exten = record_vmenu,n,Playback(vm-goodbye)
    exten = record_vmenu,n,Hangup
    exten = play_file,1,Answer
    exten = play_file,n,Playback(${var1})
    exten = play_file,n,Hangup

    [DID_sipnet]
    include = DID_sipnet_default

    [DID_sipnet_default]
    exten = 0031******,1,Goto(voicemenu-custom-1,s,1)

    [CallingRule_rulles]
    exten = _XXXXX.,1,Macro(trunkdial-failover-0.3,${sipnet}/${EXTEN:0},,sipnet,,0031******)

    [DLPN_DialPlan1]
    include = CallingRule_rulles
    include = default
    include = parkedcalls
    include = conferences
    include = ringgroups
    include = voicemenus
    include = queues
    include = voicemailgroups
    include = directory
    include = pagegroups
    include = page_an_extension

    [voicemenu-custom-1]
    include = default
    exten = s,1,NoOp(test)
    exten = s,2,Background(record/trunk1.mp3)


    Added after 1 minutes:

извините что всё скинул - просто не знаю куда лезть ибо новичёк в этом деле...


Last edited by mescaline2 on Thu Nov 25, 2010 11:31
#4 23.11.2010 23:06

=( up
#5 25.11.2010 11:32

up помгите пожалуйста - сам недопетрю...
#6 25.11.2010 12:07

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

есть раздел работа. есть поиск.

без обид. но не принято здесь помогать людям которые не хотят разбираться в проблеме.