CallerID mit AGI an VDR per Telnet übermitteln

Hallo,

AGI funktioniert bei mir, aber wenn ich nur ein anruft testen willt (anruft von sip support an 8888) kommt keine ${CALLERID} zurückt --> also nur " "

hier mein config:

sip config
Code:
...
;
; Support
;
[150]  ; normales Telefon im Buero
context=support
secret=1234
callerid="support" <150>
allowtransfer = yes
type=friend
host=dynamic
...

extensions.conf
Code:
[callerid_test]
exten => 8888,1,agi(callerID.sh|${CALLERID})
exten => 8888,2,Answer()
exten => 8888,3,Playback(hello-world)
exten => 8888,4,Hangup()

callerID.sh
Code:
#!/bin/sh
#

echo -n -e "$1\nquit\n" | telnet 192.168.16.19 2001
exit

Vielen Dank für euer Hilfe.

lg
 
alles klar hat sich erledigt.

bei Asterisk 1.4 gibt das CALLERID nicht mehr.

mit ${CALLERID(num) funktioniert


Vielen Dank.
 
bei AGi Ausführen beleibt CLI stehen.

Hallo,

ich bin wieder.

Folgende Problem ich rufe per Handy auf Asterisk an, es wird ein AGI ausgeführt (Es hat vorher immer wunderbar geklappt), aber auf einmal geht es nicht mehr.

was heißt geht nicht mehr, es gehts zwar aber nur wenn das Empfänger Computer an ist, sonst bleibt Asterisk bei excuting hängen.

extension.conf
Code:
;für ISDN 2
exten => 21592**,1,agi(callerID.sh|${CALLERID(num)})
exten => 21592**,2,Dial(SIP/450)
exten => 21592**,3,Hangup  ; Auflegen, wenn keiner drangeht.

callerID.sh
Code:
#!/bin/sh 
# 

echo -n -e "$1\nquit\n" | telnet 192.168.16.19 2001


exit 0

CLI:
Code:
; Hier wenn das Empfänger Computer Ausgeschaltet ist bleibt bei Agi hängen und es klingelt nicht.

P[ 1] channel with stid:0 for one second still in use!
    -- Executing [21592**@isdn_in:1] AGI("mISDN/1-u8", "callerID.sh|015204158***") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/callerID.sh

Woran kann es liegen? :noidea: :noidea:

Vielen Dank
 
Code:
#!/bin/sh 
# 

echo -n -e "$1\nquit\n" | telnet 192.168.16.19 2001


exit 0
[/code]Woran kann es liegen? :noidea: :noidea:

Vielen Dank

Der Telnet-Befehl wartet auf die Verbindung zum ausgeschalteten Computer bis zum Timeout der Verbindung. Das sind 30 sekunden, danach würde dein Telefon dann wahrscheinlich doch noch klingeln.
Schiess dein Skript einfach in den Hintergrund, asterisk muss ja nicht auf eine Rückmeldung warten.
 
Hallo Danke,

das habe ich auch festgestellt.
und wie schiesse ich den skript in Hintergrund?
 
Mach es mit 2 Skripten, eins ruft das andere auf:

Code:
#!/bin/sh
# callerschuss.sh
callerid.sh $1 &

Und im Agi-Aufruf dann das Skript-Startskript aufrufen.

Das & schiesst den Befehl in den Hintergrund.

(Falls jemand eine elegantere Lösung hat, nur her damit.)
 
Danke,

ich habe was besseres gefunden.

mit Netcat:
Code:
#!/bin/sh
#
echo -n -e "$1\nquit\n" | nc -q 0 -w 1 Hostname Port

exit 0

Netcat sendet nur für 1 Sekunden dann geht es ganz normal weiter.
 
An die die noch "das alte" Skript nutzen : Läuft es bei euch noch - ich habe hier anscheinend seit gut und gerne 4-5 Monaten keine Namensauflösung mehr ... ?

Habe mir das ganze nicht näher angeschaut und wollte erst einmal kurz anfragen ob es ggf. überall so ist ?

Grüsse, Stefan
 
Habe deswegen auf das neue Skript umgestellt - das läuft bisher ohne weitere Änderungen prima.

Gruß Mario
 
Hi
damit müsste es gehen - hab ich aus dem anderen Script rauskopiert :) - gruß
Thorsten

Code:
wget -q --tries=3 --timeout=5 -O $TMPFILE "http://www1.dasoertliche.de/?form_name=search_inv&ph=$NUMMER"
NAME=`grep 'class=\"entry\".*' -m1 $TMPFILE | sed -e s/^.*\"entry\"//g -e s/\<'\/'a\>.*//g -e s/^.*\>//g`
DETAILS=`grep ';.*<br\/>' -m1 $TMPFILE  | sed  -e s/'   '//g -e s/\&nbsp\;/\ /g -e s/'\n'//g -e s/'\t'//g -e s/'<br\/>'//  `
 
Ich danke ;)

Ggf. bekommen wir ja das neue Skript auch mal zu sehen..

LG Stefan
 
Hi
@Stefan: was meinst du mit "zu sehen bekommen"?
Das andere Skript ist doch ein riesen-Thread hier...

Gruß
Thorsten
 
Hallo Thorsten,

ich meinte damit, das es sicherlich einmal eine Art "aktuelles Release" geben wird..

Ich hatte die Seiten mehr oder weniger nur durchlaufen, es war etwas schwierig den Überblick zu behalten ohne das ganze direkt nachzustellen..

LG Stefan
 
Ich glaube es klappt nicht wenn man mehrere Einträge zurück bekommt.
wget -q --tries=3 --timeout=5 -O /tmp/tmpsuche "http://www1.dasoertliche.de/?form_name=search_inv&ph=03026012789"

Liefert nämlich class="entry-opt3"

;)

Oder mache ich was falsch ?

Gruss,

Jörg
 
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.