Konferenz von extern

siam

Neuer User
Mitglied seit
27 Jul 2004
Beiträge
39
Punkte für Reaktionen
0
Punkte
0
Hallo liebe VoIP Fans,

ich hab mal wieder eine Frage:

Wie könnte ich das realisieren:
ich bin unterwegs. Ich möchte eine Konferenz mit meiner Frau und unserem Eheberater führen :shock: .
Ich wähle mich (mit DISA) in mein Asterisk ein. Ich wähle die Nummer meiner Frau und schicke sie (per transfer) in der Konferenzraum. Dann rufe ich auch noch den Eheberater an und schicke ihn ebenfalls in den Konferenzraum. Zum Schluss gehe ich selber noch in den Konferenzraum.

Zwischendurch sollte ich natürlich nicht aus der Leitung geschmissen werden, d.h. das ganze sollte mit einem Anruf funktionieren.

Das wäre eine echt praktische Sache, wenn das funktionieren würde.

gruß Siam
 
Hallo,

ich werde meine Frage einfach enger schnüren, da ich mir schon ein paar Sachen selbst erarbeitet habe.

Also Frage:
Wie kann man bei einem solchen Dial-Aufruf auf das Annehmen des Anrufs reagieren?
Also ich rufe an, der Angerufene nimmt ab und GENAU dann wird etwas getan

Code:
exten => 22,1,Dial(SIP/22,60,tr)
#TODO: wenn Anruf angenommen
#exten => 22,2,Transfer(101)

Es gibt ja die Option 'g' bei Dial. Die ist aber leider für den Fall, dass der Angerufene auflegt :cry:

Danke schon mal!

gruß Siam
 
Hallo,

ich habe mir jetzt selber die Lösung erarbeitet. (hat aber viel Gehirnschmalz gekostet, bin ja noch ziemlich neewbe...)

Hier für alle, die irgendwann einmal danach Suchen:

Möglich ist so etwas mit Call-Files, AGI und Manager Interface. Ich habe mich für Call-File entschieden:

Erstellt einfach eine Datei im Ordner /var/spool/asterisk/outgoing (oder wo auch immer bei euch outgoing liegt) mitdem Namen test.call

test.call:
Code:
Channel: <Channel + Nummer> #z.B. Zap/g1/12345
RetryTime: 60
WaitTime: 30
Context: meeting
Extension: 500 #statischer Konferenzraum
Priority: 1

Ich habe mir jetzt schnell auch noch ein HTML-GUI erstellt, worin ich in einem Formular Nummern eintragen kann. Schicke ich das Formular ab, so werden für jede Nummer eine *.call Datei erzeugt. Der asterisk ruft somit alle Nummern aus dem Formular an und schickt sie gleich in den Konferenzraum.

Toll! :lol:

Hier die (in sehr schlechtem HTML + PERL geschriebenen) Dateien.
Die Pfade mussen angepasst werden!
Das Verzeichniss "/var/spool/asterisk/outgoing" muss für euren http-daemon (z.B. Apache) beschreibbar sein!

meeting.html
Code:
<html>
<body>
<form action="/cgi-bin/meeting/meeting.pl" method="post">
<center>
<h1>Asterisk Conference</h1>
<table border="1">
<th>No</th><th>Number</th><th>Internal</th><th>ISDN</th><th>VoIP</th>
 <tr>
  <td align="center">1</td>
  <td align="center"><input size="11" maxlength="20" name="user1"></td>
  <td align="center"><input type="radio" name="type1" value="internal"></t
d>
  <td align="center"><input type="radio" name="type1" value="isdn" checked
></td>
  <td align="center"><input type="radio" name="type1" value="voip"></td>
 </tr>
 <tr>
  <td align="center">2</td>
  <td align="center"><input size="11" maxlength="20" name="user2"></td>
  <td align="center"><input type="radio" name="type2" value="internal"></t
d>
  <td align="center"><input type="radio" name="type2" value="isdn" checked
></td>
  <td align="center"><input type="radio" name="type2" value="voip"></td>
 </tr>
 <tr>
  <td align="center">3</td>
  <td align="center"><input size="11" maxlength="20" name="user3"></td>
  <td align="center"><input type="radio" name="type3" value="internal"></t
d>
  <td align="center"><input type="radio" name="type3" value="isdn" checked
></td>
  <td align="center"><input type="radio" name="type3" value="voip"></td>
 </tr>
 <tr>
  <td align="center">4</td>
  <td align="center"><input size="11" maxlength="20" name="user4"></td>
  <td align="center"><input type="radio" name="type4" value="internal"></t
d>
  <td align="center"><input type="radio" name="type4" value="isdn" checked
></td>
  <td align="center"><input type="radio" name="type4" value="voip"></td>
 </tr>
</table>


<input type="submit" value="Try Call Users"></p>
</form>
</center>
</body>
</html>

Code:
#!/usr/bin/perl -w

use strict;
use CGI;
my $cgi = new CGI;
use CGI::Carp qw(fatalsToBrowser);

my @users = ($cgi->param('user1'),
            $cgi->param('user2'),
            $cgi->param('user3'),
            $cgi->param('user4'));

my @types = ($cgi->param('type1'),
            $cgi->param('type2'),
            $cgi->param('type3'),
            $cgi->param('type4'));

print $cgi->header();
print $cgi->start_html('Asterisk Conference');
print '<center>

will try to call</p>';
for(my $i = 0; $i < 4; $i++) {
    if($users[$i] ne '') {
        my $r = rand 1000;
        open FH, ">/var/spool/asterisk/outgoing/meeting_user$r.call" or print "<
h2>error: $!<\/h2>";
        print FH "Channel: ";
        print FH "SIP\/$users[$i]\n"            if($types[$i] eq 'internal');
        print FH "Zap\/g1\/$users[$i]\n"        if($types[$i] eq 'isdn');
        print FH "SIP\/$users[$i]\@sipgate\n"   if($types[$i] eq 'voip');
        print FH "RetryTime: 60\n";
        print FH "WaitTime: 30\n";
        print FH "Context: meeting\n";
        print FH "Extension: 500\n";
        close FH;
        print "

[b]$users[$i]<\/b> through [b]$types[$i]<\/b><\/p>";
    }
}
print '<form><input type="button" value="back" onclick="history.go(-1)"></form>'
;
print "<a href=\"/meeting/meeting.html\">Main</a><\/center>";
print $cgi->end_html();

Hmmm...ob überhaupt irgendeiner mein Monolog hier mitbekommt :?: :roll: :?:

Hier noch ein paar Links:
http://www.voip-info.org/wiki-Asterisk+auto-dial+out
http://www.voip-info.org/wiki-Asterisk+cmd+MeetMe
 
wenn ich wieder etwas mehr zeit habe, werde ich an den meetme features weiterarbeiten. dann wird es hoffentlich bald möglich sein, aus einer konferenz heraus (in der man admin ist), ins menü zu gehen, eine ausgehende nummer eingeben und diese so in die konferenz einladen...
 
Hallo,

das wäre natürlich viel einfacher.... :wink:


Viel Spaß am Coden!

gruß Siam
 
Hi,
das mit dem Einladen währe natürlich nett...

@Siam: warum so kompliziert? Richte dir doch einfach eine Telefonnummer ein unter der man direkt mit der KOnferenz verbunden ist. Dann schicke jedem einen Termin mit zugangsnummer... so macht man doch eine telefonkonferenz....
(Ich habe mir dafür extra eine SIPGATE-Nummer eingerichtet... kostet ja nix)

Gruß
Thorsten
 
Ein IVR Menü wäre evtl. hilfreich.
Nix drücken -> Endgerät wird angewählt
Zimmer im IVR drücken -> Konferenz-Raum

Erfordert halt leider, dass jeder Dich anruft. Ist also nicht ganz das, was Du willst.
 
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.