.titleBar { margin-bottom: 5px!important; }

[gelöst] Asterisk: Verbindungsabbruch sobald Gesprächspartner abnimmt

Dieses Thema im Forum "O2" wurde erstellt von voja, 21 Dez. 2005.

  1. voja

    voja Mitglied

    Registriert seit:
    25 Juli 2005
    Beiträge:
    242
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 voja, 21 Dez. 2005
    Zuletzt bearbeitet: 20 Jan. 2006
    Hallo,

    ich habe mit AOL Phone das Problem, das die Verbindung abbricht, sobald der Gesprächspartner abnimmt. Ich höhre dann ein schnelles Besetztzeichen, der Angerufene hört nichts. Bei mir hängt zum Beispiel ein BT-100 an einem Asterisk-Server. Andere getestete VoIP-Provider und interne Gespräche funktionieren alle ohne Probleme, deshalb habe ich auch grade keine Ahnung was da schief geht.

    Code:
    [aol]
    type=friend
    username=<meinusername>
    fromuser=<meinusername>
    secret=<meinpasswort>
    context=incomingaol
    fromdomain=aolphonereg.aol.de
    host=aolphonereg.aol.de
    nat=no
    insecure=very
    disallow=all
    allow=alaw
    allow=ulaw
    ;allow=gsm
    ;allow=ilbc
    
    Hinweis: nat=no stimmt so, da sowohl der Asterisk als auch alle SIP-Telefone öffentliche IP-Adressen haben.

    Wenn ich im Asterisk Debugging einschalte und nochmal teste kommen keine ungewöhnlichen Ausgaben:

    Code:
        -- Executing NoOp("SIP/<interne Nummer>-e37f", "Call via AOL Phone") in new stack
        -- Executing Dial("SIP/<interne Nummer>-e37f", "SIP/<telefonnummer>@aol|60|r") in new stack
        -- Called <telefonnummer>@aol
        -- Executing GotoIf("SIP/<interne Nummer>-e37f", "0?2:8") in new stack
        -- Goto (outgoing,h,8)
        -- Executing Hangup("SIP/<interne Nummer>-e37f", "") in new stack
    
    Achja: Eingehende Gespärche funktionieren auf der AOL-Nummer.

    Volker
     
  2. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    wieso wird nach dem "Called" ein GotoIF ausgeführt ?

    Man müßte mal Deine extensions.conf sehen.
     
  3. voja

    voja Mitglied

    Registriert seit:
    25 Juli 2005
    Beiträge:
    242
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das ist schon die Hangup-Regel, das gehört zum Freiminuten Abtelefonier-Zähler hier aus dem Forum:

    Code:
    exten => h,1,GotoIf($["${SCHALTER}" = "1"]?2:8)
    ...
    exten => h,8,Hangup
    Die eigentliche Anwahl ist IMHO ziemlich uninteressant:

    Code:
    ; 76 - AOL Phone
    exten => _76.,1,NoOp(Call via AOL Phone)
    exten => _76.,2,Dial(SIP/${EXTEN:2}@aol,60,r)
    Volker
     
  4. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Hast Du mal ein SIP DEBUG gemacht ? Was dort angezeigt wird ? Welche Codecs hast Du auf dem BT100 aktiviert ?
     
  5. voja

    voja Mitglied

    Registriert seit:
    25 Juli 2005
    Beiträge:
    242
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich werte grade die Ausgabe aus, ob ich da irgendwas sehe. Das ist im Moment zu viel Output, der zum großen Teil nichts zur Sache tut (Registrierungen bei anderen Providern usw.). Dann muß ich auch noch alle persönlichen Daten aus dem Output entfernen. Ich melde mich wieder, wenn ich auffällige Meldungen gefunden habe, oder den Output gefiltert habe.

    In dieser Reihenfolge: PCMA, PCMU, G723, G729, G726-32, G728, iLBC, G722

    Volker
     
  6. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    wenn Du den SIP DEBUG nur für AOL produziert, hast Du es erheblich einfachar :wink:

    Nur mal so als Tipp ...
     
  7. voja

    voja Mitglied

    Registriert seit:
    25 Juli 2005
    Beiträge:
    242
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Stimmt... Die Datei unter dem Link, den ich Dir geschickt habe, ist inzwischen aktualisiert.

    Das einzige was mir als nicht normal auffält ist das hier:

    Code:
    SIP/2.0 488 Not Acceptable Here
    Volker
     
  8. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Das ist ein Codec-Problem :!: deshalb hatte ich nach den EInstellungen für das BT100 gefragt.

    Zeig doch mal den SIP-context für die Registrierung des Gerätes in der sip.conf und den [general] Teil Deiner sip.conf.

    Wahrscheinlich hast Du da einen Codec gesperrt, der für die Verbindung gebraucht wird.

    --- edit ---

    Hab grade Dein SIP Debug durchforstet. Dein Problem liegt höchstwahrscheinlich hier:

    Code:
    Capabilities: us - 0xc (ulaw|alaw), peer - audio=0x8 (alaw)/video=0x0 (nothing), combined - 0x8 (alaw)
     
  9. voja

    voja Mitglied

    Registriert seit:
    25 Juli 2005
    Beiträge:
    242
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Interessant ist das meine Einstellung sonst überall funktioniert. Ich möchte damit für alle Geräte alaw/ulaw erzwingen.

    Aus der sip.conf:

    Code:
    [general]
    ; Codec-Einstellungen
    disallow=all
    allow=alaw
    allow=ulaw
    ;allow=gsm
    ;allow=ilbc
    
    [422]
    type=friend
    username=422
    secret=TotalGeheim!
    callerid="bt101" <422>
    host=dynamic
    dtmfmode=info
    qualify=100
    ; Dieses Telefon darf raustelefonieren, also gehört es zum outgoing Context
    context=outgoing
    
    Die anderen Telefone mit denen es nicht geht sind äquivalent eingebunden (aber hängen z.B. an einer FritzBox).

    Volker
     
  10. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Ich würde an Deiner Stelle mal alle Codecs freigeben und dann nacheinander einzeln deaktivieren. dann weißt Du genau, was Du freigeben MUSST damit es funktioniert.
     
  11. voja

    voja Mitglied

    Registriert seit:
    25 Juli 2005
    Beiträge:
    242
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ein allow=all bringt keine Besserung. Dann steht das im Debug drin:

    Code:
    Capabilities: us - 0x1f07ff (g723|gsm|ulaw|alaw|g726|adpcm|slin|lpc10|g729|speex|ilbc|jpeg|png|h261|h263|h263p), peer - audio=0x8 (alaw)/video=0x0 (nothing), combined - 0x8 (alaw)
    D.h. der Asterisk macht alles, der peer nur alaw. Selbst wenn ich nur alaw erlaube tut das nicht wirklich.

    Volker
     
  12. voja

    voja Mitglied

    Registriert seit:
    25 Juli 2005
    Beiträge:
    242
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Heute habe ich bei einem Testanruf mal den Anfang von einem Wort gehört, kurz bevor die Verbindung abbrach. Ich habe auch mal testweise die Zugangsdaten in mein BT-100 eingetragen. Ergebnis: das konnte sich erst gar nicht bei AOL registrieren. Ist da grade wiedermal eine Störung aufgetreten?
    Eingehende Gespräche sind weiterhin ohne Probleme möglich, nur ausgehende überhaupt nicht.
    Ich kann mich leider nicht mehr erinnern ob meine ersten Versuche rauszutelefonieren erfolgreich waren.
    Heute habe ich im übrigen in der Abrechnung gesehen, das ein abgebrochenes Gespräch mit 15 Minuten berechnet wurde. Ansonsten gingen die max. 18 Sekunden.

    Volker
     
  13. voja

    voja Mitglied

    Registriert seit:
    25 Juli 2005
    Beiträge:
    242
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich hätte es ja fast aufgegeben, aber heute Nacht kam mir eine Idee, die ich noch nicht mit AOL Phone und Asterisk probiert hatte:

    Code:
    canreinvite=no
    Und siehe da: Das war das Problem. Ohne diese Zeile im AOL-Kontext kann ich nicht abgehend telefonieren, mit der Zeile geht es.

    Falls es jemand gebrauchen kann, hier meine jetzt funktionierende Konfiguration für AOL Phone und Asterisk.

    sip.conf:

    Code:
    [aol]
    type=peer
    username=<AOL Phone Benutzername, nicht AOL-Name!>
    fromuser=<AOL Phone Benutzername, nicht AOL-Name!>
    secret=<Hier das Passwort eintragen>
    context=incomingaol
    fromdomain=aolphonereg.aol.de
    host=aolphonereg.aol.de
    nat=no
    ; Ohne die folgende Zeile geht bei mir abgehend gar nichts
    canreinvite=no
    ; Asterisk < 1.2:
    ;insecure=very
    ; Asterisk >=1.2:
    insecure=invite
    ; Codecs:
    ;disallow=all
    ;allow=alaw
    ;allow=ulaw
    ;allow=gsm
    ;allow=ilbc
    allow=all
    extensions.conf:

    Code:
    ; Zu Raustelefonieren über die Vorwahl 76 wird AOL Phone benutzt
    exten => _76.,1,NoOp(Call via AOL Phone)
    exten => _76.,2,Dial(SIP/${EXTEN:2}@aol,60,r)
    
    ; AOL: Parallelruf auf den Telefonen 421 und 422
    [incomingaol]
    exten => <AOL Phone Benutzername, nicht AOL-Name!>,1,Dial(SIP/421&SIP/422,60)
    
    
    Volker