CallerID von Sip(ext) -> Zap(int)

CyManiac

Neuer User
Mitglied seit
26 Jul 2006
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hi,

ich habe folgendes Problem: Ich hab mir eine script in java geschrieben, was meine mysql nach der callerid eines anrufers durchsucht und das ergebnis via send text auf das display des telefons schreiben soll. teste ich das intern (also nur auf den zapchannels) dann geht es:

Code:
    -- Accepting overlap voice call from '50' to '<unspecified>' on channel 0/2, span 1
    -- Starting simple switch on 'Zap/2-1'
    -- Executing AGI("Zap/2-1", "test-java.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/test-java.agi
    -- AGI Script test-java.agi completed, returning 0
    -- Executing Hangup("Zap/2-1", "") in new stack
    -- Executing Hangup("Zap/2-1", "") in new stack
    -- Hungup 'Zap/2-1'

Der Text wird auf dem display angezeigt

stelle ich das dann in der extensions.conf in den eingangskontext aus der sip.conf dann geht es nicht:

Code:
    -- Executing Answer("SIP/xx-8f51", "") in new stack
    -- Executing AGI("SIP/xx-8f51", "test-java.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/test-java.agi
    -- AGI Script test-java.agi completed, returning 0
    -- Executing Set("SIP/xx-8f51", "CALLERID(name)=Test") in new stack
    -- Executing NoOp("SIP/xx-8f51", "Test") in new stack
    -- Executing Dial("SIP/xx-8f51", "ZAP/g1/50&Zap/g1/51|120|tTrR") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called g1/50
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called g1/51
    -- Zap/1-1 is proceeding passing it to SIP/xx-8f51
    -- Zap/2-1 is proceeding passing it to SIP/xx-8f51
    -- Zap/2-1 is ringing
    -- Hungup 'Zap/2-1'
    -- Hungup 'Zap/1-1'
    -- Executing Hangup("SIP/xx-8f51", "") in new stack

wie man sieht, hab ich hier auch mit der callerid - var gespielt. auch das ging nicht. meine interpretation der ausgabe:
er versucht den text auf den sipchannel zu bringen - obwohl er auf den telefonen am zapchannel landen sollte.
wie sag ich ihm nun, dass * den text auf den zapchannel bringen soll???

danke der hilfe im voraus ;)

grüße

chris
 
Zuletzt bearbeitet von einem Moderator:
SetCallerPres(allowed) ist's auch nicht :(

-- unnötiges Fullquote entfernt -- bt

Hmm, ich habs ausprobiert... ich denke mal, da es intern, sprich nur mit dem zap-channel, funktioniert, dürfte es keine rolle spielen. wenn man die beiden ausschnitte mal betrachtet, sieht man das der befehl set(callerid(name)=) nicht auf dem lokalen zapchannel sondern dem sipchannel wirkt. ziel ist ja das folgende: ein via sip eingehender anruf wird lokal auf den endgeräten signalisiert (es klingelt ;)) und statt der rufnummer wird der von dem script gelieferte name angezeigt.

Hier die Ausgabe mit SetCallerPres(allowed):
Code:
    -- Executing Answer("SIP/xx-2b9c", "") in new stack
    -- Executing SetCallerPres("SIP/xx-2b9c", "allowed") in new stack
    -- Executing AGI("SIP/xx-2b9c", "test-java.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/test-java.agi
    -- AGI Script test-java.agi completed, returning 0
    -- Executing Set("SIP/xx-2b9c", "CALLERID(name)=Test") in new stack
    -- Executing NoOp("SIP/xx-2b9c", "Test") in new stack
    -- Executing Dial("SIP/xx-2b9c", "ZAP/g1/50&Zap/g1/51|120|tTrR") in new stack
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called g1/50
    -- Requested transfer capability: 0x00 - SPEECH
    -- Called g1/51
  == Primary D-Channel on span 1 up for TEI 64
  == Primary D-Channel on span 1 up for TEI 65
    -- Zap/1-1 is proceeding passing it to SIP/xx-2b9c
    -- Zap/2-1 is proceeding passing it to SIP/xx-2b9c
    -- Zap/1-1 is ringing
    -- Zap/2-1 is ringing
    -- Hungup 'Zap/2-1'
    -- Hungup 'Zap/1-1'
    -- Executing Hangup("SIP/xx-2b9c", "") in new stack

das problem vermute ich an anderer stelle:
Code:
    -- Executing Set("SIP/xx-2b9c", "CALLERID(name)=Test") in new stack
das zeigt mir, das er den calleridNamen auf dem sipchannel ändert, signalisiert werden soll aber der zapchannel (sprich das lokale isdn-telefon auf meinem schreibtisch).
ich hab, da ich die unklarheit irgendwo im zaphfc oder so sehe, mal junghanns.net - die den bristuffed asterisk zur verfügung stellen - gemailt. da gibt man sich scheinbar nicht mit studenten ab, die sich die dort angebotene hardware nicht leisten können, und meine mail wurde ignoriert - schade eigentlich...

danke und grüße

chris
 
Zuletzt bearbeitet von einem Moderator:
Wenn ein SIP-peer einen Channel erstellt heißt der Channel immer "SIP/" dann der Name des peers dann - und was einmaliges.
Wird der Channel von einem IAX device erstellt dann eben IAX2/, usw.

Es gibt nur eine CALLERID in einem Channel, aber eben bei machen Technologien wie ZAP Sonderschalter.

Setz auch mal SET(CALLERID(number)) und probier nochmal aus.

Ein bug im Treiber ist natürlich auch möglich, ich meine da war auch mal was.
 
Bitte nächstes Mal die CODE Tags selbst setzen. Danke!
 
ok, sorry wegen den tags, bin doch neu und soooo komplizerte sachen nicht gewöhnt ,)

mit set(callerid(number)=) gehts auch nicht.
das problem liegt imho an einer anderen stelle: wenn ich set(callerid(name)=bla) mache und dann via noop mit die variable anzeigen lassen, dann stimmt es. d.h. der variablen ist der richtige wert übergeben worden. ich geh mal davon aus, wenn ich nicht sipgate als gegenüber hätte sondern auch nen * oder so, dann würde der initiator (anrufer) den entsprechenden namen bekommen. ich geh davon aus, dass er die callerid des aktiven channels ( indem falle des anrufenden sipchannels setzt) aber nicht an den später via dial aktivierten zapchannel übergibt.

grüße chris

ps: prima dass soviele hier antworten... besteht interesse an dem agi-script?
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,857
Beiträge
2,302,988
Mitglieder
378,504
Neuestes Mitglied
Hallo61Hallo