Anrufer bekommt kein Besetzt bei laufendem Gespräch

nc2001

Neuer User
Mitglied seit
29 Jul 2004
Beiträge
134
Punkte für Reaktionen
0
Punkte
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
 
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.
 
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.
 
Ist "anklopfen" im ISDN-Telefon abgeschaltet? Das solte auf jeden Fal gehen. Und viellecht geht es dann ja.
 
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
 
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.
 
Versuch es mal mit SetGroup und beschränk die Anzahl der Anrufe auf 1 (so wie in diesem Beispiel).
 
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...
 
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
 
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
 
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).
 
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...
 
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
 
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:
 
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.
 
alles klar! merci :wink:


kann es dann in diesem problemfall nich daran liegen, dass das playtone fehlt?
 
@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.
 
Habe Asterisk 1.07 mit dem aktuellen Bristuff am laufen. Das Problem trat aber auch bei allen Versionen vorher schon auf...
 
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.