Manager php mit MaxRetries

Fredjam

Mitglied
Mitglied seit
7 Mai 2006
Beiträge
362
Punkte für Reaktionen
0
Punkte
0
Hallo bei den callfiles gibt es ja den befehl MaxRetries wie hier zu sehen ist.
http://www.das-asterisk-buch.de/1.0/call-file.html
Der ja dafür da ist das xbeliebig oft die person angerufen wird wenn sie nicht dran geht.

Das Versuche ich gerade mit dem PHP manager hinzubekommen wobei hier ja selber den befehl es garnicht gibt. Oder Vertuhe ich mich da?
Code:
manager show commands
  Action           Privilege        Synopsis
  ------           ---------        --------
  AbsoluteTimeout  call,all         Set Absolute Timeout
  AgentCallbackLo  agent,all        Sets an agent as logged in by callback
  AgentLogoff      agent,all        Sets an agent as no longer logged in
  Agents           agent,all        Lists agents and their status
  ChangeMonitor    call,all         Change monitoring filename of a channel
  Command          command,all      Execute Asterisk CLI Command
  DBGet            system,all       Get DB Entry
  DBPut            system,all       Put DB Entry
  Events           <none>           Control Event Flow
  ExtensionState   call,all         Check Extension Status
  GetConfig        config,all       Retrieve configuration
  Getvar           call,all         Gets a Channel Variable
  Hangup           call,all         Hangup Channel
  IAXnetstats      <none>           Show IAX Netstats
  IAXpeers         <none>           List IAX Peers
  JabberSend       system,all       Sends a message to a Jabber Client
  ListCommands     <none>           List available manager commands
  Logoff           <none>           Logoff Manager
  MailboxCount     call,all         Check Mailbox Message Count
  MailboxStatus    call,all         Check Mailbox
  MeetmeMute       call,all         Mute a Meetme user
  MeetmeUnmute     call,all         Unmute a Meetme user
  Monitor          call,all         Monitor a channel
  Originate        call,all         Originate Call
  Park             call,all         Park a channel
  ParkedCalls      <none>           List parked calls
  PauseMonitor     call,all         Pause monitoring of a channel
  Ping             <none>           Keepalive command
  PlayDTMF         call,all         Play DTMF signal on a specific channel.
  QueueAdd         agent,all        Add interface to queue.
  QueuePause       agent,all        Makes a queue member temporarily unavailable
  QueueRemove      agent,all        Remove interface from queue.
  Queues           <none>           Queues
  QueueStatus      <none>           Queue Status
  Redirect         call,all         Redirect (transfer) a call
  SetCDRUserField  call,all         Set the CDR UserField
  Setvar           call,all         Set Channel Variable
  SIPpeers         system,all       List SIP peers (text format)
  SIPshowpeer      system,all       Show SIP peer (text format)
  Status           call,all         Lists channel status
  StopMonitor      call,all         Stop monitoring a channel
  UnpauseMonitor   call,all         Unpause monitoring of a channel
  UpdateConfig     config,all       Update basic configuration
  UserEvent        user,all         Send an arbitrary event
  WaitEvent        <none>           Wait for an event to occur
  ZapDialOffhook   <none>           Dial over Zap channel while offhook
  ZapDNDoff        <none>           Toggle Zap channel Do Not Disturb status OFF
  ZapDNDon         <none>           Toggle Zap channel Do Not Disturb status ON
  ZapHangup        <none>           Hangup Zap Channel
  ZapRestart       <none>           Fully Restart zaptel channels (terminates calls)
  ZapShowChannels  <none>           Show status zapata channels
  ZapTransfer      <none>           Transfer Zap Channel

jede dachte ich ich schreibe mir das selber und habe auch sehr lange dran gesessen um eigendlich so einen skript selber hinzubekommen.
Nur habe ich hier bei ein Problem.

Code:
[autocall]
exten => _0[2-9].,1,Set(DB(ContextX/${UNIQUEID})=0)
exten => _0[2-9].,2,Set(ANZAHL=${DB(ContextX/${UNIQUEID})})
exten => _0[2-9].,n,noop(Autoskript startet call 49${EXTEN})
exten => _0[2-9].,n,Set(CALLERID(num)=021185555247)
exten => _0[2-9].,n,Set(DB(telnum/${UNIQUEID})=${EXTEN})
exten => _0[2-9].,n,Dial(SIP/49${EXTEN:1}@sipgate,15)
exten => _0[2-9].,n,Hangup 


exten => h,1,GotoIf($[ ${DIALSTATUS} = ANSWER ]?dja:dnein)

exten => h,10(dnein),Set(ANZAHL=${DB(ContextX/${UNIQUEID})})
exten => h,11,Set(ANZAHL=${MATH(${ANZAHL}+1,int)}) 
exten => h,12,Set(DB(ContextX/${UNIQUEID})=${ANZAHL})
exten => h,13,GotoIf($[ ${ANZAHL} = 3]?aja:anein)

exten => h,20(anein),Goto(autocall,${DB(telnum/${UNIQUEID})},2)
exten => h,21(aja),noop(Ein Anrufe ist nicht rangegangen ${DB(telnum/${UNIQUEID})})
exten => h,22,DBdel(telnum/${UNIQUEID}) 
exten => h,23,Hangup

exten => h,30(dja),DBdel(telnum/${UNIQUEID}) 
exten => h,31,Hangup

als fehlermeldung spuckt der dann aus
-- Got SIP response 483 "Too Many Hops" back from 80.237.199.3


Gut dann dachte ich mir das ist vielleicht alles zu viel für asterisk und ich setzte einfach ne pause zwischen durch.
Nur leider bleibt der dann bei der pause stehen und es passiert nichts mehr bei 2ten druchgang.
Man wird dann noch angeklingelt wenn man aber dran geht ist stille und nix kommt.

Vielleicht kennt jemand dieses Problem oder hat einfach ne Idee :)
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,890
Beiträge
2,304,190
Mitglieder
378,576
Neuestes Mitglied
densen420