[Problem] Asterisk - Ansagetext funktioniert nicht mehr

Kaheto

Neuer User
Mitglied seit
7 Feb 2019
Beiträge
6
Punkte für Reaktionen
0
Punkte
1
Hallo,

ich habe auf einem Raspi einen Asterisk 14.2.0 seit 2016 erfolgreich eine Telefonanlage laufen. Seit ein paar Tagen funktioniert die Ansage bei dem Anrufbeantworter nicht mehr. Stattdessen sehe in der Asterisk-Cli diesen Dialog:

Code:
Asterisk Ready.
    -- Executing [071526929512@telekom_in:1] GotoIf("PJSIP/telekom_in-00000000", "0?unavail29512") in new stack
    -- Executing [071526929512@telekom_in:2] Dial("PJSIP/telekom_in-00000000", "PJSIP/29512&PJSIP/6001,20,m[To_of_us]") in new stack
[2019-02-07 09:50:50] ERROR[2863]: res_pjsip.c:2887 ast_sip_create_dialog_uac: Could not create dialog to endpoint '6001' as URI '6001' is not valid
[2019-02-07 09:50:50] ERROR[2863]: chan_pjsip.c:2146 request: Failed to create outgoing session to endpoint '6001'
[2019-02-07 09:50:50] WARNING[2920][C-00000001]: app_dial.c:2530 dial_exec_full: Unable to create channel of type 'PJSIP' (cause 3 - No route to destination)
    -- Called PJSIP/29512
    -- Started music on hold, class 'default', on channel 'PJSIP/telekom_in-00000000'
    -- PJSIP/29512-00000001 is ringing
    -- Contact 29512/sip:[email protected]:5060;transport=udp is now Unknown.  RTT: 0.000 msec
    -- Nobody picked up in 20000 ms
    -- Stopped music on hold on PJSIP/telekom_in-00000000
    -- Executing [071526929512@telekom_in:3] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,6,jan?holiday1") in new stack
    -- Executing [071526929512@telekom_in:4] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,31,mar?holiday1") in new stack
    -- Executing [071526929512@telekom_in:5] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,2,apr?holiday1") in new stack
    -- Executing [071526929512@telekom_in:6] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,1,may?holiday1") in new stack
    -- Executing [071526929512@telekom_in:7] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,10,may?holiday1") in new stack
    -- Executing [071526929512@telekom_in:8] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,16,jun?bridgeday1") in new stack
    -- Executing [071526929512@telekom_in:9] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,21,may?holiday1") in new stack
    -- Executing [071526929512@telekom_in:10] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,31,may?holiday1") in new stack
    -- Executing [071526929512@telekom_in:11] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,2,oct?bridgeday1") in new stack
    -- Executing [071526929512@telekom_in:12] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,3,oct?holiday1") in new stack
    -- Executing [071526929512@telekom_in:13] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,31,oct?holiday1") in new stack
    -- Executing [071526929512@telekom_in:14] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,1,nov?holiday1") in new stack
    -- Executing [071526929512@telekom_in:15] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,25,dec?holiday1") in new stack
    -- Executing [071526929512@telekom_in:16] GotoIfTime("PJSIP/telekom_in-00000000", "08:00-9:59,*,26,dec?holiday1") in new stack
    -- Executing [071526929512@telekom_in:17] Playback("PJSIP/telekom_in-00000000", "Morgen") in new stack
    -- <PJSIP/telekom_in-00000000> Playing 'Morgen.slin' (language 'de')
       > 0x75f12b20 -- Probation passed - setting RTP source address to 217.0.5.150:32876
    -- Executing [071526929512@telekom_in:18] VoiceMail("PJSIP/telekom_in-00000000", "9512@Office,s") in new stack
    -- <PJSIP/telekom_in-00000000> Playing 'beep.slin' (language 'de')
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/Office/9512/tmp/wsW10A format: wav, 0x75f26614
    -- User hung up
  == Parsing '/var/spool/asterisk/voicemail/Office/9512/INBOX/msg0003.txt': Found
  == Parsing '/var/spool/asterisk/voicemail/Office/9512/INBOX/msg0003.txt': Found
  == Spawn extension (telekom_in, 071526929512, 18) exited non-zero on 'PJSIP/telekom_in-00000000'

"Morgen.slin" ist in "/var/lib/asterisk/sounds/de/" "Morgen.wav" und das hatte alles bisher funktioniert. Die Aufnahmefunktion des Anrufbeantorters funktioniert noch. Lediglich die Ansagen werden nicht mehr abgespielt.
Hier der entsprechende Part aus dem Dialplan:
Code:
[telekom_in]
; Zeiten für Anrufbeantworter
include => morning-closed,06:00-7:59,mon-fri;*,*
include => morning,08:00-9:59,mon-fri;*,*
include => day,10:00-17:29,mon-fri;*,*
include => evening,17:30-17:59,mon-fri;*,*
include => evening-closed,18:00-20:59,mon-fri;*,*
include => night,21:00-5:59,mon-fri;*,*
include => weekend-morning,06:00-9:59,sat-sun;*,*
include => weekend-day,10:00-17:29,sat-sun;*,*
include => weekend-evening,17:30-20:59,sat-sun;*,*
include => weekend-night,21:00-5:59,sat-sun;*,*

;include => morning-closed
include => morning
include => day
include => evening
include => evening-closed
include => night
include => weekend-morning
include => weekend-day
include => weekend-evening
include => weekend-night

; Anrufe von extern via Telekom
[morning-closed]
exten => 071526929512,1,GotoIf($[${DEVICE_STATE(PJSIP/29512)}=UNAVAILABLE]?unavail29512)
 same => n,GotoIfTime(0:00-5:59,mon-fri,*,*?unavail29512)
 same => n,Dial(PJSIP/29512&PJSIP/6001,1)
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,6,jan?holiday1)                                     ;Neujahr
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,31,mar?holiday1)                                    ;Karfreitag 2018
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,2,apr?holiday1)                                     ;Ostermontag 2018
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,1,may?holiday1)                                     ;1.Mai
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,10,may?holiday1)                                    ;Himmelfahrt 2018
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,16,jun?bridgeday1)                                  ;Brückentag
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,21,may?holiday1)                                    ;Pfingstenmontag 2018
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,31,may?holiday1)                                    ;Fronleichnam 2018
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,2,oct?bridgeday1)                                   ;Brückentag
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,3,oct?holiday1)                                     ;Deutsche Einheit
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,31,oct?holiday1)                                    ;Reformationstag
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,1,nov?holiday1)                                     ;Allerheiligen
 same => n(unavail29512),GotoIfTime(06:00-7:59,*,25,dec?holiday1)                                    ;Weihnachten
 same  => n(unavail29512),GotoIfTime(06:00-7:59,*,26,dec?holiday1)                                    ;Weihnachten
 same => n,GotoIfTime(0:00-7:59,mon-fri,*,*?unavail29512)
 same => n(unavail29512),Playback(Closed-Morgen)
 same => n,VoiceMail(9512@Office,s)
 same => n,Hangup()
 same => n(holiday1),Playback(Holiday-Morgen)
 same => n,VoiceMail(9512@Office,s)
 same => n,Hangup()
 same => n(bridgeday1),Playback(BridgeDay-Morgen)
 same => n,VoiceMail(9512@Office,s)
 same => n,Hangup()
exten => 07117189517,1,GotoIf($[${DEVICE_STATE(PJSIP/89517)}=UNAVAILABLE]?unavail89517)
 same => n,Dial(PJSIP/89517&PJSIP/6001,20,m[To_of_us])
 same => n(unavail89517),Playback(privat-Morgen)
 same => n,VoiceMail(9517@Office,s)
 same => n,Hangup()

[morning]
exten => 071526929512,1,GotoIf($[${DEVICE_STATE(PJSIP/29512)}=UNAVAILABLE]?unavail29512)
 same => n,Dial(PJSIP/29512&PJSIP/6001,20,m[To_of_us])
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,6,jan?holiday1)                                     ;Neujahr
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,31,mar?holiday1)                                    ;Karfreitag 2018
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,2,apr?holiday1)                                     ;Ostermontag 2018
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,1,may?holiday1)                                     ;1.Mai
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,10,may?holiday1)                                    ;Himmelfahrt 2018
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,16,jun?bridgeday1)                                  ;Brückentag
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,21,may?holiday1)                                    ;Pfingstenmontag 2018
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,31,may?holiday1)                                    ;Fronleichnam 2018
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,2,oct?bridgeday1)                                   ;Brückentag
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,3,oct?holiday1)                                     ;Deutsche Einheit
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,31,oct?holiday1)                                    ;Reformationstag
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,1,nov?holiday1)                                     ;Allerheiligen
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,25,dec?holiday1)                                    ;Weihnachten
 same => n(unavail29512),GotoIfTime(08:00-9:59,*,26,dec?holiday1)                                    ;Weihnachten
 same => n,Playback(Morgen)
 same => n,VoiceMail(9512@Office,s)
 same => n,Hangup()
 same => n(holiday1),Playback(Holiday-Morgen)
 same => n,VoiceMail(9512@Office,s)
 same => n,Hangup()
 same => n(bridgeday1),Playback(BridgeDay-Morgen)
 same => n,VoiceMail(9512@Office,s)
 same => n,Hangup()
exten => 07117189517,1,GotoIf($[${DEVICE_STATE(PJSIP/89517)}=UNAVAILABLE]?unavail89517)
 same => n,Dial(PJSIP/89517&PJSIP/6001,20,m[To_of_us])
 same => n(unavail89517),Playback(privat-Morgen)
 same => n,VoiceMail(9517@Office,s)
 same => n,Hangup()

Hat jemand eine Lösung für mich?

Grüße
Kaheto
 
Kann die Datei noch gelesen werden?
 
Das ist egal. Mach mal bitte cp xy.wav xy.wav.old
 
Na ja, den Sinn deiner Anweisung konnte ich nicht ganz nachvollziehen. Mittlerweile habe ich Asterisk 16.1 installiert. Das Problem trat immer noch auf. Dann habe ich alle wav-Dateien durch https://www.digium.com/products/ivr...//www.digium.com/products/ivr/audio-converter konvertieren lassen. Scheint die Lösung gewesen sein, da ich einmal neue Wav-Dateien erstellt hatte und die Konvertierung wahrscheinlich versäumt hatte.
Code:
exten => *0*,1,Answer()
 same => n,Wait(3)
 same => n,Playback(HoldOnTheLine)
 same => n,Wait(15)
 same => n,Hangup()

exten => *1*,1,Answer()
 same => n,Wait(2)
 same => n,Playback(Closed-Morgen)
 same => n,Wait(1)
 same => n,Hangup()
 exten => *2*,1,Answer()
 same => n,Wait(2)
 same => n,Playback(Morgen)
 same => n,Wait(1)
 same => n,Hangup()
 exten => *3*,1,Answer()
 same => n,Wait(2)
 same => n,Playback(Tag)
 same => n,Wait(1)
 same => n,Hangup()
 exten => *4*,1,Answer()
 same => n,Wait(2)
 same => n,Playback(privat-Morgen)
 same => n,Wait(1)
 same => n,Hangup()
Das funktioniert soweit.

Was jetzt noch nicht funktioniert, ist die Musik statt des Freizeichens (hatte bereits früher so funktioniert):
Code:
[day]
exten => 038563112,1,GotoIf($[${DEVICE_STATE(PJSIP/63112)}=UNAVAILABLE]?unavail63112)
 same => n,GotoIfTime(16:00-17:29,fri,*,*?friday-closed)                ;Freitag ist ab 16 Uhr geschlossen
 same => n,GotoIfTime(18:00-7:59,mon-fri,*,*?unavail63112)
 same => n,Verbose(Header To: ${CUT(CUT(SIP_HEADER(To),@,1),:,2)},1)
 same => n,Dial(PJSIP/63112&PJSIP/6001,60,m[HoldOnTheLine])

Wie gesagt, mit *0* lässt sich HoldOnTheLine.wav abspielen.
 
Moinsen


Die Haltemusikklasse im Dial() wird meiner Meinung nach immer in runden Klammern angegeben und muss in der musiconhold.conf definiert sein.
Nur ohne Angabe einer Klasse ( dann wird [default] genommen ) können auch die runden Klammern entfallen.
 
Vollzitat von darüber entfernt by stoney.
Okay, da hast Du Recht. Ich versuche allerdings
Code:
Dial(PJSIP/15202&PJSIP/6001,20,m[Ansage-Datei])
zu realisieren. Das hatte bereits beim alten Asterisk, den ich noch bis Samstag installiert hatte, seit zwei Jahren geklappt. Das Freizeichen während des Klingelns wird hier einfach durch die Sprachdatei ersetzt. Also keine klassische Warteschleife, sondern es sollen während des Klingelns Informationen an den Anrufer übermittelt werden.
Und das funktionierte bei alten Asterisk plötzlich nicht mehr, plus kein Freizeichen. Deshalb dieser ganze Post hier.
Das Problem mit den nicht hörbaren WAV-Dateien ist gelöst. Das hatte mit der Abtasterate zu tun.
Nur jetzt würde ich gerne das Freizeichen wieder ersetzen. Alle notwendigen Dateien liegen unter
Code:
/var/lib/asterisk/sounds/de/
 
Zuletzt bearbeitet von einem Moderator:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.

IPPF im Überblick

Neueste Beiträge