Mehrere Sip Provider

mario2006

Mitglied
Mitglied seit
25 Nov 2006
Beiträge
294
Punkte für Reaktionen
0
Punkte
0
Wir haben 2 Sipgate accounts auf unserem Asterisk hinterlegt. Der zweite account wird über ein Prefix angesprochen. Das ist mir aber mittlerweile zu lästig. Mit einem Sipgate Account habe ich 2 concurrent calls. Ich möchte nun folgendes lösen:

Sobald zwei gleichzeitige Gespräche über Sipgate_1 geführt werden, soll der 3 Anrufer automatisch über Sipgate_2 raus telefonieren.

Das Thema wurde sicherlich schon im Forum angesprochén, konnte aber übder die Suche nichts finden.

Vielleicht hat jemand einen Tipp wie ich das lösen kann.

Danke, Mario
 
Sobald zwei gleichzeitige Gespräche über Sipgate_1 geführt werden, soll der 3 Anrufer automatisch über Sipgate_2 raus telefonieren.

Die von dir benötigte Funktion heisst GROUP_COUNT
 
Danke für Deine schnelle Rückmeldung

Im Moment habe ich es so gelöst, ist mir zu lästig:

exten => _*10XXXX.,1,Set(CALLERID(number)=0)
exten => _*10XXXX.,2,SetCallerPres(allowed)
exten => _*10XXXX.,3,Dial(SIP/${EXTEN:3}@sipgate-out1,30,trg)
exten => _*10XXXX.,4,Congestion()
exten => _*10XXXX.,104,Busy()

exten => _XXXX.,1,Set(CALLERID(number)=0)
exten => _XXXX.,2,SetCallerPres(allowed)
exten => _XXXX.,3,Dial(SIP/${EXTEN}@sipgate-out2,30,trg)
exten => _XXXX.,4,Congestion()
exten => _XXXX.,104,Busy()

Kannst Du mir auf die Sprünge helfen mit GROUP_COUNT

Danke, Mario
 
Hallo Kombjuder,

danke für den Link. Habe es nun so abgeändert.

Was meinst Du?

Grüße, Mario


Code:
[sipgate]
exten => _XXXX.,1,Set(GROUP()=sipgate) 
exten => _XXXX.,2,GotoIf($["${GROUP_COUNT(sipgate)}">"2"]?5:3)
exten => _XXXX.,3,Dial(SIP/${EXTEN}@sipgate-out1,30,trg)
exten => _XXXX.,4,Hangup
exten => _XXXX.,5,Goto(sipgate2,${EXTEN},1) 

[sipgate2]

exten => _XXXX.,1,Dial(SIP/${EXTEN}@sipgate-out2,30,trg)
exten => _XXXX.,2,Congestion()
exten => _XXXX.,104,Busy()
 
Zuletzt bearbeitet:
Gelöst

Vielen Dank!
 
War Dein obiger Schnipsel die Lösung, oder hast Du noch was anderes gemacht? Dann wäre es im Sinne des Forums, uns daran teilhaben zu lassen... Danke!


Gruß,
Wichard
 
Gelöst

Hallo Wichard,

ja das ist die Lösung.

Habe ich etwas falsch gemacht?

Grüße, Mario

[sipgate]
exten => _XXXX.,1,Set(GROUP()=sipgate)
exten => _XXXX.,2,GotoIf($["${GROUP_COUNT(sipgate)}">"2"]?5:3)
exten => _XXXX.,3,Dial(SIP/${EXTEN}@sipgate-out1,30,trg)
exten => _XXXX.,4,Hangup
exten => _XXXX.,5,Goto(sipgate2,${EXTEN},1)

[sipgate2]

exten => _XXXX.,1,Dial(SIP/${EXTEN}@sipgate-out2,30,trg)
exten => _XXXX.,2,Congestion()
exten => _XXXX.,104,Busy()
 
Nein, Du hast nichts falsch gemacht. Es ist nur für nachkommende Benutzer, die mit der Suche auf diesen Beitrag stoßen könnten, interessant zu wissen, ob Du die Lösung so gefunden hast wie hier dokumentiert oder anschließend über etwas ganz anderes gestolpert bist (das dann aber für Dich behältst...).

Daher Danke für Deine Rückmeldung!


Gruß,
Wichard
 
exten => _XXXX.,104,Busy()

Hallo Mario,

diese Zeile kann wegen der Zeilennummer Probleme machen. Das funktioniert einwandfrei bis Asterisk 1.2. Bei 1.4 musst du einen Befehl in Global glaube ich setzen und in 1.6 wird das vmtl nicht mehr gehen.

Ersatz ist das viel flexiblere DIALSTATUS. Damit musst du nicht mehr Zeilennummer +100 rechnen.
 
Halllo Kombjuder,

Du hast Recht. Ich benutze die Version 1.2

Meinst Du so sieht es besser aus?

exten => _XXXX.,3,Busy()


Grüße
Mario
 
Meinst Du so sieht es besser aus?

Ich würde in Zeile 2 hangup benutzen und fertig.
Wenn du Informationen geben willst, warum das Gespräch nicht aufgebaut werden konnte, mach das mit dialstatus.
 
Kostenlos!

Statistik des Forums

Themen
248,899
Beiträge
2,304,440
Mitglieder
378,594
Neuestes Mitglied
kerbilg