2 x nen Asterisk Problem mit QUEUE Members

sabersoft

Neuer User
Mitglied seit
29 Okt 2004
Beiträge
86
Punkte für Reaktionen
0
Punkte
0
Hallo,

also die 2 x * laufen sehr gut zusammen.

Folgendes Problem:

Der HauptAsterisk ruft die Member (queue.conf) ganz normal SIP/xxx bzw IAX2xxx an den 2. Asterisk.
Das funktioniert perfekt.
Ich und ein Kollege sind am 2. angemeldet und erhalten die Anrufe, und können normal Telefonieren etc.
jedoch wenn bei uns lokal am Asterisk nen Anruf reinkommt, dieser geht zur Queue, und nun sollten die 2 SIP Accounts gerufen werden. Laut Asterisk Shell macht er das ..er sagt "SIP/xxxx ringing" jedoch klingelt das Usertelefon nicht, und auf der Ast. Konsole erscheint ne Meldung alla" Max Retries für SIP xxx erreicht" ..
Die Clients sind jedoch korrekt angemeldet, und wenn man ein DIAL String SIP/xxxx in die Extensions.conf schreibt klappt das auch perfekt (habe ich für eine ISDN MSN getestet.) ...

Hat jemand eine Idee / Tips ?!

Ronny
 
Hallo,

*schieb*

keiner eine Idee ?!
Beim Hauptasterisk das selbe Phänomen.... den IAX2 Member leitet er weiter. jedoch beim SIP Member Eintrag sagt er, ringing SIP/xxxx etc. , nur bei dem SIP User klingelt es nicht.
Am Server taucht eine Meldung auf alla "Max. tries reached ...etc"...

Ronny
 
SIP, IAX und Extensions.conf könnten evtl. weiterhelfen.
 
Hallo,

sorry hatte früher keine Zeit das alles rauszusuchen. Hier nun die Confs etc. ;)

IAX.conf
Code:
[general]
register => name:passwort@ipadresse

[name]
type=friend
secret=passwort
;context=remote
context=redirected
host=ip

[name1]
type=friend
secret=passwort
host=dynamic
context=redirected

sip.conf:
Code:
[general]
context=default 
port=5060                       ; UDP Port to bind to (SIP standard port is 5060
)
bindaddr=0.0.0.0                ; IP address to bind to (0.0.0.0 binds to all)
srvlookup=yes    

[user1]
type=friend
username=user1
secret=geheimespasswort
dtmfmode=rfc2833
qualify=1500
host=dynamic
context=default
canreinvite=no
callerid="xxxx"<xx>
regexten=xx
disallow=all                    ; First disallow all codecs
allow=ulaw                     ; Allow codecs in order of preference
allow=alaw
;allow=ilbc                      ; Note: codec order is respected only in [gener
al]
;allow=gsm
;allow=SpeeX
nat=no
pickupgroup=1
callgroup=1

queue.conf (ausschnitt)
Code:
member => SIP/user1

extensions.conf (Das hier funzt .. der Call wird durchgestellt und das Phone klingelt auch korrekt)
Code:
[redirected]
exten => 10,1,Dial(SIP/user1|60|tr)
exten => 10,2,Congestion
exten => 10,102,Busy

Wo es nicht funzt ist, wenn der User aus der Queue herraus gerufen werden soll, da kommt auf der CLI nur "SIP/user1 called" jedoch klingelt das SIP Phone nicht. (ist korrekt angemeldet) Auf der CLI kommt dann nach kurzer Zeit.


Hier das Log:
Code:
Called SIP/user1
May 12 10:38:05 WARNING[4979]: chan_sip.c:694 retrans_pkt: Maximum retries exceeded on call [email protected] for seqno 102 (Critical Request)
May 12 10:38:05 NOTICE[4979]: chan_sip.c:1422 auto_congest: Auto-congesting SIP/user1-44e4
May 12 10:38:05 NOTICE[7567]: app_queue.c:766 wait_for_answer: No one is answering queue 'queuename' (2/1)

Kann mir irgendjemand einen Tip geben ?!

Ronny
 
Hi Ronny,

den queue Aufruf in der extensions.conf hast Du hier gar nicht ge-posted, der wäre aber wichtig, ebenso weitere Details aus queue.conf.

Ansonsten schau Dir hier mal ein Beispiel an unter "examples":
http://www.voip-info.org/wiki-Asterisk+cmd+Queue

Gruß,
Tin
 
Hallo,

danke, ich reiche hiermit das nötige noch nach ... sorry aber ich wollte nicht den Post unnötig in die Länge ziehen ..

Ronny

extension.conf - Aufruf der Queue
Code:
exten => rufnummer,1,Queue(queue|t|||100)

queue.conf - General + 1 Queue ...
Code:
[general]
queue-youarenext = naechster-mitarbeiter        ;       ("You are now first in l
ine.")
;queue-thereare = queue-thereare                ;       ("There are")
queue-callswaiting = vielen_dank                ;       ("calls waiting.")
;queue-holdtime = queue-holdtime                ;       ("The current est. holdtime is")
;queue-minutes = queue-minutes                  ;       ("minutes.")
;queue-seconds = queue-seconds                  ;       ("seconds.")
queue-thankyou = bitte-geduld                   ;       ("Thank you for your patience.") 

[queue1]
music=random
strategy=ringall
timeout=30
retry=3
maxlen=5
queue-youarenext = naechster-mitarbeiter        ;       ("You are now first in line.")
queue-thankyou = bitte-geduld                   ;       ("Thank you for your patience.")
announce-frequency = 12
announce-holdtime = no  ;yes|no|once

;Definition der Telefone mit Extensions, unter denen sie Intern zu erreichen sind
member => SIP/user1 
member => SIP/user2



Noch eine Ergänzung. Auf dem 1. Asterisk (Haupt-*) funktionieren die Queues wie sie sollen. Die lokalen Sip User werden gerufen, die per IAX am 2. angemeldeteten User auch. Jedoch die SIP Accounts der IAX User (IAX => 2. Asterisk / SIP Lokaler Account) werden nicht gerufen, da kommt auch die Fehlermeldung.

Auf dem 2. Ast. sind die 2 User (user1 / user2) per SIP angemeldet.
Die per IAX reinkommenden Calls werden korrekt zugestellt, die Lokalen Calls auch, die Calls die aus der Queue kommen jedoch enden in der Fehlermeldung ...
 
Also die queue heißt schonmal queue1 insofern müßte der Eintrag

exten => rufnummer,1,Queue(queue1|tT|||100)

lauten. Aber ich nehme mal an, das war nur ein Vertipper hier im Forum.

Ich habe mir Deine Ausführungen jetzt dreimal durchgelesen, bin aber immer noch nicht schlau daraus geworden, was Du da eigentlich machst.
Die queue läuft auf dem 1ten Asterisk Server ? SIP/User1 ist aber auf dem 2ten angemeldet ? Dann kann er den User ja auch nicht kennen...

Vielleicht versteht's ja jemand anderes hier, sorry...
 
Hallo,
stimmt war ein Tippfehler im Forum.

So nochmal, ich hoffe jemand versteht mich ;)

2 Asteriskserver die per IAX2 miteinander kommunizieren.
auf dem Nebenasterisk (dem 2.) sind 2 User angemeldet (ich und ein Kollege), diese SIP Accounts gibt es mit genau den gfleichen Daten auch auf dem 1. (falls wir mal dort sein sollten ;) ).
So auf dem Hauptasterisk kommen die Anrufe i.d.R. an. Werden lokal zugestellt bzw. per IAX direkt an den 2. Asterisk gereicht, der diese dann zustellt, klappt soweit alles. (Dafür gibt es nen extra Redirectet Kontext).

Wenn nun aber ein Call kommt, der in die Queue geht beim 1.Asterisk. Dann geht der Call korrekt an die lokalen SIP User und per IAX2 raus (paßt alles) nur genau die 2 Leute die auch lokal nen Sip Account haben, werden zwar versucht zu erreichen (angenommen ich bin angemeldet) jedoch kommt o.g. Fehlermeldung) und bei dem User klingelt KEIN Telefon etc.

Auf dem 2. Asterisk verhält es sich so:
alle Anrufe stimmen, nur einwas haut nicht hin:
Kommt ein Lokaler Anruf in eine Lokale Queue, (dort sind 2 Member definiert (Kollege+Ich). Diese werden zwar versucht zu rufen (Called SIP/user1 bzw user2) jedoch erscheint die oben genannte Fehlermeldung und bei den SIP Accounts klingelt nichts.
Jedoch sind diese per Extensions.conf und DIAL(SIP/user1) korrekt erreichbar, das passiert NUR,wenn die Queue versucht diese zu erreichen.

Ich hoffe ich konnte es nun korrekt ausdrücken ;) Sorry

Ronny
 
1. Sehe ich überhaupt keine IAX member in der queue.conf die Du ge-posted hast oder war das die queue.conf vom 2ten Server?

2. Wie genau wird der vom 1ten Server durch queue initiierte IAX2 call vom 2ten Server abgefangen? extensions.conf wie sieht die da aus? Wird der call da in eine weitere queue diesmal des 2ten Servers geschoben?

3. Was Du nach "Auf dem 2.Asterisk verhält es sich so:" schreibst ist ein zweites Problem, unabhängig von dem davor geschilderten? Auf dem 2ten Server scheint ja dann nichts mit queue zu funktionieren, egal woher der Anruf kommt.

Zu 2.) das Problem könntest Du evtl. umgehen, wenn Du die SIP User des 2ten Servers direkt als member des 1ten Servers in dessen queue.conf einträgst, ala member => SIP/User1@Server2 . Getestet habe ich so eine Konstellation allerdings noch nicht, wär' aber mal einen Versuch wert.

Gruß,
Tin
 
Hallo,

ja kann doch nicht die kompletten confs posten, da mülle ich hier alles zu ..

Asterisk1 => QUEUE => IAX2 => ASTERISK2 => SIP => USER 1/2 funktioniert ohne Probleme.

Code:
queues.conf (beispielmember IAX2)
member => IAX2/name:[email protected]/11@redirected
zur Info:habe ich angepaßt ;) aber das funktioniert ja...


jedoch:
ISDN => Asterisk2 => QUEUE => SIP => USER 1/2 dagegen bringt den Fehler.

Auf beiden im Prinzip der selbe Fehler. Nur das es immer die 2 SIP Accounts betrifft die auf beiden angelegt sind (user1/user2) die anderen SIP Accounts auf dem 1. Asterisk laufen ohne irgendwelche Probs perfekt).

2. Der Call wird direkt per IAX2 in einen Redirected Context geschmissen, dies ruft den SIP Account durch ein simples DIAL(SIP/user1...). Dies funktioniert wunrderprächtig.

zu "zu2)" )
Die Member sind als IAX2 eingetragen, was auch funktioniert. jedoch hat der 2. Asterisk auch eine lokale CAPI connection, mit queue ... und da gibt es die Probs.
 
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
248,521
Beiträge
2,293,504
Mitglieder
378,028
Neuestes Mitglied
tempuser777