[Problem] Bei Playback() oder Echo() kommt kein Sound

pux

Neuer User
Mitglied seit
28 Mai 2013
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich habe heute 6 Stunden meines Lebens zum lösen eines Problems versenkt. Leider ohne Erfolg. Ich habe folgendes vor: Per Asterisk mittels Playback einen Anruf zu tätigen um jemand zu informieren, dass es neue Nachrichten/Mails gibt. Zudem will ich später hin auch noch SMS und DTMF-Töne per Asterisk versenden, aber das ist nochmal was anderes :) Ersteres versuche ich nun mittels den spool-Dateien zu lösen. Die sehen bei mir in etwa so hier aus:

Code:
Channel: SIP/<Anrufer-Nummer>@<meine SIP-Nummer>
MaxRetries: 3
RetryTime: 300
WaitTime: 30
Context: benachrichtigung
Extension: 10
Archive: yes

Packe ich das File von oben nun nach /var/spool/asterisk/outgoing dann sehe ich auf der Konsole folgendes:

Code:
*CLI> 
    -- Attempting call on SIP/<Anrufer-Nummer>@<meine SIP-Nummer> for 10@benachrichtigung:1 (Retry 1)
  == Using SIP RTP CoS mark 5
    -- Executing [10@benachrichtigung:1] Answer("SIP/<meine SIP-Nummer>-00000000", "") in new stack
    -- Executing [10@benachrichtigung:2] Wait("SIP/<meine SIP-Nummer>", "1") in new stack
    -- Executing [10@benachrichtigung:3] Playback("SIP/<meine SIP-Nummer>-00000000", "vm-youhave") in new stack
    -- <SIP/<meine SIP-Nummer>-00000000> Playing 'vm-youhave.gsm' (language 'en')
    -- Executing [10@benachrichtigung:4] NoOp("SIP/<meine SIP-Nummer>-00000000", "SUCCESS") in new stack
    -- Executing [10@benachrichtigung:5] Playback("SIP/<meine SIP-Nummer>-00000000", "vm-messages") in new stack
    -- <SIP/<meine SIP-Nummer>-00000000> Playing 'vm-messages.gsm' (language 'en')
    -- Executing [10@benachrichtigung:6] NoOp("SIP/<meine SIP-Nummer>-00000000", "SUCCESS") in new stack
    -- Executing [10@benachrichtigung:7] Wait("SIP/<meine SIP-Nummer>-00000000", "1") in new stack
    -- Auto fallthrough, channel 'SIP/<meine SIP-Nummer>-00000000' status is 'UNKNOWN'
[Aug 26 17:01:34] NOTICE[20384]: pbx_spool.c:349 attempt_thread: Call completed to SIP/<Anrufer-Nummer>@<meine SIP-Nummer>
*CLI>

Was passiert in dem Moment:
Mein Telefon (Festnetz) klingelt, ich gehe drann, es dauert 1 Sekunde, dann dauert es nochmal so lange wie in etwa das "vm-youhave"-Sound dauert, dann noch so lange wie der "vm-messages"-Sound dauert, dann nochmal ne Sekunde und dann wird aufgelegt. Leider total ohne Sound das ganze...

Angemeldet scheint alles richtig zu sein:

Code:
*CLI> sip show registry
Host                           dnsmgr Username                    Refresh State                Reg.Time                 
sip.1und1.de:5060              N   <meine SIP-Nummer>      7985 Registered           Tue, 26 Aug 2014 17:01:25
1 SIP registrations.
*CLI>

In meiner sip.conf ists ziemlich minimalistisch gehalten:
Code:
[general]
port=5060
bindaddr=<meine IP-Adresse> ; brauche ich, da ich 2 Netzwerkkarten habe - eine intern, eine extern (aber der Server spielt keine Router für mich!)
language=en
register => <meine SIP-Nummer>:<passwort>@sip.1und1.de/<meine SIP-Nummer>
allowguest=no

[101]
type=friend
secret=<passwort>
qualify=yes ; Qualify peer is not more than 2000 mS away
nat=yes ; This phone is natted
host=dynamic ; This device registers with us
canreinvite=no ; Asterisk by default tries to redirect
context=home

[<meine SIP-Nummer>]
type=peer
username=<meine SIP-Nummer>
fromuser=<meine SIP-Nummer>
secret=<passwort>
host=sip.1und1.de
fromdomain=sip.1und1.de
nat=yes
insecure=port,invite
directmedia=no


In meiner extensions.conf sieht es so hier aus:
Code:
[globals]
phone1 = SIP/101 ; standard phone
callduration = 30 ; standard calling duration in seconds

[default]

[sip-incoming]
exten => _X.,1,Hangup

[home]
exten => _X.,1,Hangup

[smsdial]
exten => _X.,1,SMS(${CALLERIDNUM},s,${EXTEN},${MSG})
exten => _X.,2,SMS(${CALLERIDNUM},s)
exten => _X.,3,Hangup

[benachrichtigung]
exten => 10,1,Answer
exten => 10,n,Wait(1)
exten => 10,n,Playback(vm-youhave)
exten => 10,n,NoOp(${PLAYBACKSTATUS})
exten => 10,n,Playback(vm-messages)
exten => 10,n,NoOp(${PLAYBACKSTATUS})
exten => 10,n,Wait(1)

Ist alles recht klein, da ich nur am rumtesten bin.

Die Sounds werden übrigens auch gefunden und haben die richtigen Berechtigungen - ich hab sie mal verschoben, dann kam sowas wie "file not found" bzw. ich hab denen auch schon "777" gegeben - keine Änderung, das Ding will einfach keine Geräusche machen. Das gleiche Problem habe ich auch mit der echo-Funktion. Die geht ebensowenig. Nur Stille

Firewallmäßig komme ich an alle Ports von 1-65000 (hab ich mittels netcat und nem anderen Server getestet), tcp wie udp ist komplett offen. Nur von extern kommt man nicht ran (sprich ich kann Verbindungen nach extern aufbauen, aber zu mir kann keiner von extern eine aufbauen...).

Der Server hat zwar noch eine ISDN-Karte verbaut, die soll aber bald raus, sprich ich hab sogar nen Soundkarten-Device momentan :)



Hat jemand von euch eine Idee, an was das liegen kann? Ich für meinen Teil bin mit meinem Latein nämlich einfach am Ende...


Viele Grüße,
pux
 
Abend

Die Ideen (Fragen) die mir beim Lesen kamen:

1. Welche Codecs benutzen die Endgeräte?
2. Liegen die Audiodateien auch in diesem Codec vor?
 
Zuletzt bearbeitet:
Hi,

ich rufe ja auf Festnetz bzw. Handy damit an, also nicht auf ein Softphone oder ein VoIP-Phone. Ich kann dir nur sagen, was der * alles so hat (wenn dir das weiterhilft):
Code:
*CLI> core show codecs
Disclaimer: this command is for informational purposes only.
	It does not indicate anything about your configuration.
        INT    BINARY        HEX   TYPE       NAME   DESC
--------------------------------------------------------------------------------
          1 (1 <<  0)      (0x1)  audio       g723   (G.723.1)
          2 (1 <<  1)      (0x2)  audio        gsm   (GSM)
          4 (1 <<  2)      (0x4)  audio       ulaw   (G.711 u-law)
          8 (1 <<  3)      (0x8)  audio       alaw   (G.711 A-law)
         16 (1 <<  4)     (0x10)  audio   g726aal2   (G.726 AAL2)
         32 (1 <<  5)     (0x20)  audio      adpcm   (ADPCM)
         64 (1 <<  6)     (0x40)  audio       slin   (16 bit Signed Linear PCM)
        128 (1 <<  7)     (0x80)  audio      lpc10   (LPC10)
        256 (1 <<  8)    (0x100)  audio       g729   (G.729A)
        512 (1 <<  9)    (0x200)  audio      speex   (SpeeX)
       1024 (1 << 10)    (0x400)  audio       ilbc   (iLBC)
       2048 (1 << 11)    (0x800)  audio       g726   (G.726 RFC3551)
       4096 (1 << 12)   (0x1000)  audio       g722   (G722)
      65536 (1 << 16)  (0x10000)  image       jpeg   (JPEG image)
     131072 (1 << 17)  (0x20000)  image        png   (PNG image)
     262144 (1 << 18)  (0x40000)  video       h261   (H.261 Video)
     524288 (1 << 19)  (0x80000)  video       h263   (H.263 Video)
    1048576 (1 << 20) (0x100000)  video      h263p   (H.263+ Video)
    2097152 (1 << 21) (0x200000)  video       h264   (H.264 Video)
*CLI> core show translation
         Translation times between formats (in microseconds) for one second of data
          Source Format (Rows) Destination Format (Columns)

           g723   gsm  ulaw  alaw g726aal2 adpcm  slin lpc10  g729 speex  ilbc  g726  g722 siren7 siren14 slin16
     g723     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -
      gsm     -     -     2     2        2     2     1     2     - 20001     -     2     2      -       -      3
     ulaw     -     2     -     1        2     2     1     2     - 20001     -     2     2      -       -      3
     alaw     -     2     1     -        2     2     1     2     - 20001     -     2     2      -       -      3
 g726aal2     -     2     2     2        -     2     1     2     - 20001     -     2     2      -       -      3
    adpcm     -     2     2     2        2     -     1     2     - 20001     -     2     2      -       -      3
     slin     -     1     1     1        1     1     -     1     - 20000     -     1     1      -       -      2
    lpc10     -     2     2     2        2     2     1     -     - 20001     -     2     2      -       -      3
     g729     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -
    speex     -     2     2     2        2     2     1     2     -     -     -     2     2      -       -      3
     ilbc     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -
     g726     -     2     2     2        2     2     1     2     - 20001     -     -     2      -       -      3
     g722     -     2     2     2        2     2     1     2     - 20001     -     2     -      -       -      1
   siren7     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -
  siren14     -     -     -     -        -     -     -     -     -     -     -     -     -      -       -      -
   slin16     -     2     2     2        2     2     1     2     - 20001     -     2     1      -       -      -
*CLI>

Viele Grüße,
pux
 
Moin

Ach, meine Augen.
Du hast es im geposteten Log stehen:
Code:
    -- Executing [10@benachrichtigung:3] Playback("SIP/<meine SIP-Nummer>-00000000", "vm-youhave") in new stack
    -- <SIP/<meine SIP-Nummer>-00000000> Playing 'vm-youhave.gsm' (language 'en')
...
    -- Executing [10@benachrichtigung:5] Playback("SIP/<meine SIP-Nummer>-00000000", "vm-messages") in new stack
    -- <SIP/<meine SIP-Nummer>-00000000> Playing 'vm-messages.gsm' (language 'en')
...welcher (gsm) der Codec für Mobiles (Handy, Smartfon) darstellt.
Da scheint sich was zu verschlucken.
Versuch mal folgendes:
1. Wieder mal mit dem Mobile anrufen.
2. Bei erfolgreicher Verbindung, Gespräch am Mobile kurz halten.
3. Das Halten sofort wieder beenden.
4. Hörst du dann die Ansage?

Wenn ja, eventuell hilft eine kurze Wartezeit vor dem Abspielen der Nachricht.
 
Hi,

also ne Wartezeit habe ich ja bereits (1 Sekunde). Habe das grade mal auf 5 erhöht. Keine Änderung. Auch das halten und direkt wieder zurück springen hat nichts gebracht. Weder am Handy, noch am Festnetztelefon... So langsam verzweifle ich wirklich... :-(

Viele Grüße,
pux
 
Funktioniert die Geschichte wenn Du keinen externen Teilnehmer anrufen lässt, sondern ein direkt am asterisk registriertes Telefon (zb. dieses 101 das ich da sehe)?

Weil Dein Hinweis, das Du von extern nicht angerufen werden kannst, weist schon auf NAT / Firewall Probleme hin. Je nach Kombination aus der NAT Erkennung des Providers und Deinem Router, kann es hier zb. notwendig sein die Ports 5060 für Signalisierung und die Portrange die in Deiner rtp.conf definiert ist, auf Deinen Asterisk weiter zu leiten (dabei aber Sicherheitsmaßnahmen nicht vergessen).
 
Zuletzt bearbeitet:
Hi,

also das habe ich noch nicht versucht, aber ich tippe auch auf Firewall-Probleme :-/
Ich kläre das mal und melde mich nochmal wenn es dann noch auftreten sollte.

Viele Grüße,
pux
 
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.