Seite 1 von 1

Ausgehender Anruf in Subroutine

Verfasst: Mo 15. Jan 2018, 17:25
von Mansaylon
Hallo Zusammen

Ich kriege das irgendwie einfach nicht hin.

Da ich die Ausgehenden Anrufe nicht immer wieder wiederholen möchte, dachte ich mir, dass ich sie in eine Subroutine packe (via Gosub).

Doch wie sieht der Syntax aus, in der Subroutine??

So sicher nicht (denn da bekomme ich Error):

exten => _0XX.,1,Gosub(subAusgehend,s,1(${EXTEN},0441234567,123))

[subAusgehend]
exten => _0XX.,s,1,Answer()
same => _0XX.,n,Set(CALLERID(num)=${ARG2})
same => _0XX.,n,GotoIf($(["${CALLERID(num)}" = "${ARG3}"]?sec:nosec)
same => _0XX.,n(sec),Authenticate(xxx)
same => _0XX.,n(nosec),NoOp()
same => _0XX.,n,Set(TIMEOUT(absolute)=7200)
same => _0XX.,n,NoOp(${CALLERID(num)})
same => _0XX.,n,NoOp(${EXTEN})
same => _0XX.,n,Dial(SIP/${ARG1}@Provider)
same => _0XX.,n,Hangup()

Re: Ausgehender Anruf in Subroutine

Verfasst: Mi 7. Feb 2018, 10:53
von Tim
Hallo,

ich glaube du hast bei der Syntax was durcheinander gebracht, zumindest beim Asterisk 13.5 ist die Syntax für Gosub folgende:
[Syntax]
Gosub([[context,]exten,]priority[(arg1[,...][,argN])])

d.h. dein Beispiel wäre dann wie folgt:

exten => _0XX.,1,Gosub(subAusgehend,${EXTEN},1(0441234567,123))

[subAusgehend]
exten => _0XX.,1,Answer()
exten => _0XX.,n,Set(CALLERID(num)=${ARG1})
exten => _0XX.,n,GotoIf($(["${CALLERID(num)}" = "${ARG2}"]?sec:nosec)
exten => _0XX.,n(sec),Authenticate(xxx)
exten => _0XX.,n(nosec),NoOp()
exten => _0XX.,n,Set(TIMEOUT(absolute)=7200)
exten => _0XX.,n,NoOp(${CALLERID(num)})
exten => _0XX.,n,NoOp(${EXTEN})
exten => _0XX.,n,Dial(SIP/${EXTEN}@Provider)
exten => _0XX.,n,Hangup()

Gruß
Tim