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

Anrufer bekommt kein Besetzt bei laufendem Gespräch

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von nc2001, 29 Sep. 2004.

  1. nc2001

    nc2001 Neuer User

    Registriert seit:
    29 Juli 2004
    Beiträge:
    134
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo. Ich habe das Problem, dass ein zweiter Anrufer bei einem laufenden Gespräch über Sipgate kein Besetztzeichen bekommt. Stattdessen bleibt die Leitung beim Anrufer stumm.

    Ich habe das im Dialplan nach dem Dialkommando mit Busy versucht, doch das brachte keinen Erfolg. Hat vielleicht jemand ne Idee?

    Christopher
     
  2. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Das kommt wohl auf dein Endgerät an.
    Auch bei SIP gibt es eine Anklopffunktion.
    Bei meiner Grandstream-DECT-Kombi funzt das auch: Wenn während eines Gesprächs ein zweiter Anruf reinkommt höre ich ein kurzes tut und kann mit der "R"-Taste meines DECT-Tels zwischen beiden Gesprächen makeln.
    Du müßtest also, wenn du eine busy-on-busy Signalisierung wünschst, deinem Endgerät beibringen, daß es kein Anklopfen zuläßt sondern stattdessen ein Busy sendet.
    Die Variante mit dem "Busy" in der nächsten Zeile deines Dialplans hilft da nicht weiter.
    Ich habe persönlich noch nicht probiert, wie lange bei Sip angeklopft wird. Das hängt evtl. auch vom Provider ab.
    Bei der Telekom sind es m.W. 15 Sekunden. Das heißt auch dort hört man für diese Zeit zunäschst keinen Rufton und dann entweder ein Besetzt oder man wird mit dem Angerufenen verbunden - je nachdem, ob dieser das anklopfende Gespräch annimmt oder nicht. Lehnt er es ab, kann des "Besetzt" natürlich auch schon früher kommen.
     
  3. nc2001

    nc2001 Neuer User

    Registriert seit:
    29 Juli 2004
    Beiträge:
    134
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Aha. Das "Problem" ist, dass ich als Endgerät ein ISDN Telefon an einer HFC-Karte einsetzte, ich also Asterisk irgendwie mitteilen muss, dass nur eine Verbindung gleichzeitig aufgebaut werden kann / soll. Am Telefon kann ich da nichts weiter einstellen.
     
  4. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ist "anklopfen" im ISDN-Telefon abgeschaltet? Das solte auf jeden Fal gehen. Und viellecht geht es dann ja.
     
  5. nc2001

    nc2001 Neuer User

    Registriert seit:
    29 Juli 2004
    Beiträge:
    134
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Im ISDN-Telefon ist das alles ausgeschaltet. Jedoch funktioniert es immer noch nicht, d.h. Asterisk sagt zwar, "everyone is busy", aber der Anrufer hört nach wie vor nichts.

    Hier mal der Asterisk-Output:

    Oct 7 18:06:02 NOTICE[1115638704]: app_dial.c:727 dial_exec: Unable to create channel of type 'Zap'
    == Everyone is busy/congested at this time
    -- Executing Busy("SIP/8001234-aee2", "") in new stack
     
  6. nc2001

    nc2001 Neuer User

    Registriert seit:
    29 Juli 2004
    Beiträge:
    134
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Muss mal "mein Problem" nochmal hervorkramen, denn ich habe noch immer keine Lösung gefunden. Ein SIP-Anrufer erhält nach wie vor kein Besetzt, wenn mein Telefon belegt ist. Es klappt nur, wenn ich das zusätzliche Gespräch erst mit "Answer" annehme und dann ein "Busy" ausführe. Das kostet den Anrufer ja nun leider Gebühren, da die Verbindung steht.

    Gibt es denn da keine andere Möglichkeit, dass der Anrufer ein besetzt erhält, ohne dass die Verbindung aktiviert ist?

    Ein Priindication=outofband in der zapata.conf ist so grob was ich meine, nur müsste das eben nicht für meine Geräte am Asterisk sondern für die Anrufer, die mich über Sipgate anrufen gelten. Sprich, also irgenwie in der Sip.conf eingepflegt werden.
     
  7. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Versuch es mal mit SetGroup und beschränk die Anzahl der Anrufe auf 1 (so wie in diesem Beispiel).
     
  8. nc2001

    nc2001 Neuer User

    Registriert seit:
    29 Juli 2004
    Beiträge:
    134
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Geht leider auch nicht. Er sagt mir auch hier brav "executing busy", genau wie Asterisk ohne die Gruppen auch sagt, dass alles belegt ist, nur dieses belegt wird an Sipgate nicht weitergegeben. Beim Anrufer bleibt die Leitung tot, keine Klingeln oder sonst irgendwas...
     
  9. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hmm, schieb mal Deinen Dialplan rüber!
     
  10. nc2001

    nc2001 Neuer User

    Registriert seit:
    29 Juli 2004
    Beiträge:
    134
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die betreffenden Teile sehen so aus:

    Code:
    [sipgatein]
    	exten => 8001234,1,Dial(Zap/2/1234,60,tT)
    	exten => 8001234,103,Busy
    	exten => 8001234,104,Hangup
    
    [sipgateraus]
    	exten => _0.,1,Dial(SIP/${EXTEN}@sipgate,60,tT)
    	exten => _0.,103,Congestion
    	exten => _0.,104,Busy
    	exten => _0.,105,Hangup
    
     
  11. jtsn

    jtsn Neuer User

    Registriert seit:
    3 Juli 2005
    Beiträge:
    5
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das Problem liegt IMHO bei Sipgate. Asterisk meldet per SIP korrekt "482 Busy Here" zurück, beim Festnetzgateway kommt das aber offenbar nicht an.

    ciao, jtsn
     
  12. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wie wäre es denn direkt mit einem Hangup anstelle von Busy. Dann müsste doch die Verbindung in jedem Fall beendet werden. Für anrufer aus dem Festnetz würde das ja keinen unterschied machen. Die würden in jedem Fall ein Besetztzeichen bekommen. (Auch wenn es eines wegen Hangup und nicht wegen Busy ist).
     
  13. nc2001

    nc2001 Neuer User

    Registriert seit:
    29 Juli 2004
    Beiträge:
    134
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das klappt auch nicht, da die Verbindung ja noch nicht einmal angenommen ist. Wenn ich sie mit Answer annehme und dann Busy mache, ist das kein Problem. Nur, wie gesagt, das kostet dann wieder.

    Hier mal der Output von Asterisk:
    Code:
        -- Executing Dial("SIP/8001234", "Zap/2/1234|60|tT") in new stack
    Jul  5 15:04:42 NOTICE[10009]: app_dial.c:759 dial_exec: Unable to create channel of type 'Zap'
      == Everyone is busy/congested at this time
        -- Timeout on SIP/8001234
      == CDR updated on SIP/8001234
        -- Executing Hangup("SIP/8001234", "") in new stack
      == Spawn extension (sipgatein, t, 1) exited non-zero on 'SIP/8001234'
    
    Wie man sieht, der Anruf kommt, es kann kein ZAP-Channel kreiert werden, da belegt und Asterisk schreibt auch "everyone busy congested". Selbst im Timeout, der kurz danach erfolgt, ist ein Hangup eingetragen, dass auch ausgeführt wird, nur leider nicht zu einem Besetztzeichen beim Anrufer führt.

    @jtsn
    Ja, das glaube ich fast auch, dass das gar nicht an Asterisk liegt...
     
  14. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Die Prioritäten stimmen auch nicht ganz. Ändere die Einträge in der extensions.conf mal so ab, und füge ne H-extension dazu.
    Code:
    [sipgatein]
    exten => 8001234,1,Dial(Zap/2/1234,60,tT)
    exten => 8001234,2,Hangup
    exten => 8001234,102,Hangup
    
    exten => h,1,Hangup
    
     
  15. AsteriskUndObelisk

    AsteriskUndObelisk Neuer User

    Registriert seit:
    19 Apr. 2005
    Beiträge:
    169
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    was ist denn der genaue unterschied zwischen busy und congestion? congestion is doch auch ne art "belegt" ?!

    voip-org sagt:

    Description
    Congestion()

    Sends a signal to inform the channel of congestion. This command waits for the user to hang up; it does not continue execution of further commands.

    Note that this command does not actually play a congestion tone to the user. If you wish to do that, call Playtones(congestion) before calling this command

    exten => s,1,Answer ; can't Playtones unless we answer first
    exten => s,2,Playtones(congestion) ; send the audio sequence that humans understand means "congestion"
    exten => s,3,Congestion ; signal the other end of congestion. Wait for hangup.


    und

    Description
    Busy()

    Sends a signal to inform the channel of a busy condition. This command waits for the user to hang up; it does not continue execution of further commands.

    Note that this command does not actually play a busy tone to the user. If you wish to do that, call Playtones(busy) before calling this command. For most channels, the channel or the end device will take care of playing the busy signal to the caller - in particular, with SIP phones they will play their own Busy tone even if you have already called Playtones - it is often better to just call Playtones(Busy) and not Busy();

    exten => s,1,Answer ; can't Playtones unless we answer first
    exten => s,2,Playtones(busy) ; send the audio sequence that humans understand means "busy"
    exten => s,3,Busy ; signal the other end that the line is busy. Wait for hangup.


    irgendwie wird mir der unterschied abe rnoch nich klar?! :roll:
     
  16. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Die Diskussion hatten wir neulich schonmal.

    Busy bedeutet, daß der Teilnehmer grade im Gespräch ist.

    Congestion bedeutet, daß der Anruf nicht zum Teilnehmer vermittelt werden kann (z.B. gassenbesetzt)

    Letztendlich bedeutet es für den Anrufer in beiden Fällen, daß er den gewünschten Teilnehmer nicht erreicht.
     
  17. AsteriskUndObelisk

    AsteriskUndObelisk Neuer User

    Registriert seit:
    19 Apr. 2005
    Beiträge:
    169
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    alles klar! merci :wink:


    kann es dann in diesem problemfall nich daran liegen, dass das playtone fehlt?
     
  18. nc2001

    nc2001 Neuer User

    Registriert seit:
    29 Juli 2004
    Beiträge:
    134
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @hupe Leider bringt auch das keinen Erfolg! Wie gesagt, im Output steht ja, dass der Hangup ordentlich signalisiert wird (oder auch busy), nur kommt es bei Sipgate nicht an.

    @asteriskund
    Busy ist das normale Besetzt, d.h. der eine Anschluss, den ich anrufe ist besetzt.

    Congestion ist das Gassenbesetzt, d.h. z.B. ist das Netz überlastet. Bei Asterisk: Angenommen ich habe 3 Telefone, 2 Leitungen und telefoniere auf beiden. Hebe ich dann das dritte Telefon ab sollte es ein Gassenbesetzt bekommen, da zur Zeit keine Anrufe nach draussen möglich sind und alle belegt ist. Unabhängig von der angerufenen Nummer.
     
  19. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hast Du mal ne neuere Version von Asterisk probiert?
     
  20. nc2001

    nc2001 Neuer User

    Registriert seit:
    29 Juli 2004
    Beiträge:
    134
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Habe Asterisk 1.07 mit dem aktuellen Bristuff am laufen. Das Problem trat aber auch bei allen Versionen vorher schon auf...