DISA mit Direktwahl? wie?

TheChaos

Mitglied
Mitglied seit
23 Apr 2004
Beiträge
479
Punkte für Reaktionen
0
Punkte
0
hi,

also mein asterisk läuft endlich, allerdings hab ich noch das problem, dass ich bei DISA ca. 10 sekunden warten muss, bis er eine nummer wählt.

wähle ich die nummer schon vorher und hebe ab, kommt das freizeichen und er vergisst die nummer. ist es möglich das zu kombinieren, so dass beides geht? also wenn irgendeine nummer vorher gewählt wird, die sofort wählen, andersrum wenn keine gewählt wurde, so lange warten wie bisher?

daaaanke ;)
 

otaku42

Admin-Team
Mitglied seit
26 Mrz 2004
Beiträge
1,670
Punkte für Reaktionen
0
Punkte
0
TheChaos schrieb:
also mein asterisk läuft endlich,
Und, wo ist die versprochene Mini-Howto? :roll:

TheChaos schrieb:
allerdings hab ich noch das problem, dass ich bei DISA ca. 10 sekunden warten muss, bis er eine nummer wählt.
Dazu hatte Blackvel schonmal etwas geschrieben. Ohne Sourcemodifikation geht das wohl nicht, was allerdings wohl auch Nachteile hat. Mehr dazu hier.

[note to self]
Ob man das so patchen kann, dass man DISA die Wartezeit einfach als zusaetzlichen Parameter mit uebergibt? Hmm....
[/note to self]

Ciao, Mike
 

obelix

Mitglied
Mitglied seit
6 Apr 2004
Beiträge
345
Punkte für Reaktionen
0
Punkte
0
warte einfach die ca. 5 Sekunden oder wenn Du immer gleichlange Rufnummern wählst kann mann das festlegen. Hat mich auch schon gewurmt. Ach ja mit der Rufnummer aus dem Telefonspeicher soll mit
z.B. 31,,1234567 gehen. Wobei die 31 die MSN deiner ISDN-Karte ist.

OBELIX
 

TheChaos

Mitglied
Mitglied seit
23 Apr 2004
Beiträge
479
Punkte für Reaktionen
0
Punkte
0
otaku: das how-to kommt wenn hier alles läuft, wenn du aber fragen haben solltest, dann kannste mich fragen

mein problem mit der direktwahl hab ich so gelöst, dass ich momentan in der zapata.conf "imediate=no" habe und somit alle nummern direkt wählen kann. so wollte ich es ja auch.

das andere mysterium ist nun, dass wenn ich anrufe und eine nummer wähle, nach dem auflegen eine neue ghostverbindung die nummer "h" wählt. kA wieso. das ist nach jedem gespräch so, wenn ich auflege. als ob das auflegen irgendwie ein call signal verursacht :(

das sieht so aus:
Code:
*CLI>   == D-Channel on span 1 up
    -- Executing SetCallerID("Zap/2-1", "xxxx") in new stack
    -- Executing SetCIDName("Zap/2-1", "xxxx") in new stack
    -- Executing Dial("Zap/2-1", "SIP/[email protected]|30|r") in new stack
    -- Called [email protected]
    -- Accepting call from '20' to 'xxxx' on channel 2, span 1
    -- SIP/sipgate-ae35 answered Zap/2-1
    -- Channel 2, span 1 got hangup
  == Spawn extension (isdnphone, xxxx, 3) exited non-zero on 'Zap/2-1'
    -- Executing SetCallerID("Zap/2-1", "xxxx") in new stack
    -- Executing SetCIDName("Zap/2-1", "xxxx") in new stack
    -- Executing Dial("Zap/2-1", "SIP/[email protected]|30|r") in new stack
    -- Called [email protected]
  == Spawn extension (isdnphone, h, 3) exited non-zero on 'Zap/2-1'
    -- Hungup 'Zap/2-1'
der führt genau das was ich in der extensions.conf stehen habe erneut aus, nur dass der auslöser halt (isdnphone, h, 3) ist :?:

extensions.conf
Code:
[isdnphone]                                                                     
;exten => isdnphone,1,Answer()                                                  
exten => _.,1,SetCallerID,"meine nummer"                                        
exten => _.,2,SetCIDName,"mein name"                                        
exten => _.,3,Dial(SIP/[email protected],30,r)                                      
exten => _.,4,Hangup
hat jemand ne idee?
 

rajo

Admin-Team
Mitglied seit
31 Mrz 2004
Beiträge
1,958
Punkte für Reaktionen
0
Punkte
36
h ist die "hangup"-extension die aufgerufen wird, wenn Du auflegst.

definier dir mal ein
exten => h,1,Hangup
und die "geisteranrufe" sollten verschwinden... da du exten => _.,1,... als wählpattern verwendest was *alles* annimmt schlägt das wohl auch bei h zu...
 

TheChaos

Mitglied
Mitglied seit
23 Apr 2004
Beiträge
479
Punkte für Reaktionen
0
Punkte
0
klingt sehr logisch, danke ;)
 

otaku42

Admin-Team
Mitglied seit
26 Mrz 2004
Beiträge
1,670
Punkte für Reaktionen
0
Punkte
0
TheChaos schrieb:
otaku: das how-to kommt wenn hier alles läuft, wenn du aber fragen haben solltest, dann kannste mich fragen
Mir wuerde vermutlich schon ausreichen zu wissen, wie die Extensions bei Dir aussehen, die mit dem ISDN-Telefon zusammenhaengen. Vor allem die Extension, in der Du per ZAP das ISDN-Phone anwaehlst, wenn von Sipgate aus ein Anruf bei Dir ankommt. Das ist bei mir momentan einer der Knackpunkte.

Ansonsten wuerde ich vorschlagen, dass wir uns hinsichtlich Mini-Howto zusammentun. Ich habe ein Wiki zu VoIP laufen, in dem man sowas ganz gut unterbringen koennte. Auf der Website und im Wiki will ich demnaechst noch mehr Dinge zu Asterisk (auf deutsch) unterbringen, und mit einem Wiki faellt die Zusammenarbeit an gemeinsamen Dokus eigentlich recht leicht.

TheChaos schrieb:
mein problem mit der direktwahl hab ich so gelöst, dass ich momentan in der zapata.conf "imediate=no" habe und somit alle nummern direkt wählen kann. so wollte ich es ja auch.
immediate=no habe ich auch schon ausprobiert (und glaube ich immer noch gesetzt). Abgesehen von obigem Problem wuerde mich auch interessieren, ob und wie man einen lokalen Client konditional klingeln lassen kann.

Beispiel: ein Anruf geht ein, und neben dem ISDN-Phone ist auch ein (lokales) Softphone am * angemeldet. Der Anruf soll daher bei beiden Clients signalisiert werden, und von einem der beiden angenommen werden koennen. Wenn nur einer der beiden Clients angemeldet ist, soll es eben nur bei diesem einen klingeln. Geht keiner ran, oder ist kein Client angemeldet, dann soll die Voicebox anspringen.

Das wird wohl nur alles eine Frage des Dialplans sein, aber wie saehe sowas aus...?

Ciao, Mike
 

TheChaos

Mitglied
Mitglied seit
23 Apr 2004
Beiträge
479
Punkte für Reaktionen
0
Punkte
0
ok also ich liste hier mal alle wichtigen files:

zapata.conf
Code:
; Zapata telephony interface                                                    
;                                                                               
; Configuration file                                                            
                                                                                
[channels]                                                                      
;                                                                               
; Default language                                                              
;                                                                               
;language=en                                                                    
;                                                                               
; Default context                                                               
;                                                                               
;                                                                               
switchtype = euroisdn                                                           
; p2mp TE mode                                                                  
;signalling = bri_cpe_ptmp                                                      
                                                                                
; p2p TE mode                                                                   
;signalling = bri_cpe                                                           
; p2mp NT mode                                                                  
signalling = bri_net_ptmp                                                       
; p2p NT mode                                                                   
;signalling = bri_net                                                           
                                                                                
pridialplan=local                                                               
prilocaldialplan=local                                                          
echocancel=yes                                                                  
immediate=no                                                                    
group = 1                                                                       
context=isdnphone                                                               
channel => 1-2
sip.conf
Code:
[general]                                                                       
port = 5060                     ; Port to bind to                               
bindaddr = 0.0.0.0              ; Address to bind SIP channel to                
;context = default              ; Default context for incoming calls            
;srvlookup = yes                ; Enable DNS SRV lookups on outbound calls      
                                                                                
;pedantic = yes                 ; Enable slow, pedantic checking for Pingtel    
;tos=lowdelay                   ; IP QoS parameter, either keyword or value     
                                                                                
;maxexpirey=3600                ; Max length of incoming registration we allow  
;defaultexpirey=120             ; Default length of incoming/outoing registratio
;notifymimetype=text/plain      ; Allow overriding of mime type in NOTIFY       
;videosupport=yes               ; Turn on support for SIP video                 
                                                                                
disallow=all                    ; Disallow all codecs                           
allow=alaw                                                                      
allow=ulaw                      ; Allow codecs in order of preference           
allow=ilbc                                                                      
register => sipgatenr:[email protected]/sipgatenr   ;die sipgatenr am ende muss in der extensions.conf vorkommen, sonst geht keiner ran
                                                                                
[sipgate]                                                                       
type=friend                                                                     
username=sipgatenr
host=sipgate.de                                                                 
fromuser=sipgatenr
fromdomain=sipgate.de                                                           
nat=no                                                                          
context=siplinein                     ;kA ob und wie das verwendet wird
canreinvite=no
extensions.conf
Code:
[default]
include => siplinein                                                            
                                                                                
[isdnphone]                                                                     
exten => _X.,1,SetCallerID,"Deine TelNummer"                                       
exten => _X.,2,SetCIDName,"Dein Name"                                       
exten => _X.,3,Dial(SIP/${EXTEN}@sipgate,30,+)   ; + weil bei r dein Telefon sofort klingelt, bei + klingelts erst wenn sipgate erst klingelt
exten => _X.,4,Hangup                                                           
include => demo    
                                                                                
[siplinein]                                                                     
exten => sipgatenr,1,DIAL(Zap/1/20) ;sipgatenr aus deiner sip.conf
ok das ganze macht folgendes:
ich tippe an meinem isdn telefon vorm abheben die nummer (oder kurzwahl) und dann heb ich ab. asterisk nimmt diese nummer dank _X. sofort an und ruft über sipgate raus. wählt man statt einer nummer z.b. * oder # dann kommt die demo ansage (hab ich dringelassen zu testzwecken).

andersrum werden eingehende sipgategespräche an der internen isdnnummer 20 durch DIAL(Zap/1/20) signalisiert. man mags kaum glauben, aber das wars schon.

ich denke dass man an dem code noch einiges ändern kann, aber so fürs erste geht es ;)
 

Fux

Mitglied
Mitglied seit
3 Jun 2004
Beiträge
420
Punkte für Reaktionen
0
Punkte
16
otaku42 schrieb:
Beispiel: ein Anruf geht ein, und neben dem ISDN-Phone ist auch ein (lokales) Softphone am * angemeldet. Der Anruf soll daher bei beiden Clients signalisiert werden, und von einem der beiden angenommen werden koennen. Wenn nur einer der beiden Clients angemeldet ist, soll es eben nur bei diesem einen klingeln. Geht keiner ran, oder ist kein Client angemeldet, dann soll die Voicebox anspringen.

Das wird wohl nur alles eine Frage des Dialplans sein, aber wie saehe sowas aus...?
Zum Beispiel so:

exten => s,1,DIAL(IAX2/teilnehmer1&SIP/teilnehmer2,30)
exten => s,2,Voicemail(u${EXTEN})
 

Zurzeit aktive Besucher

3CX PBX - GRATIS
Linux / Win / Cloud

Neueste Beiträge

Statistik des Forums

Themen
232,891
Beiträge
2,027,817
Mitglieder
351,017
Neuestes Mitglied
mucfaber