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 ;)
 
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
 
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
 
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/10000@sipgate|30|r") in new stack
    -- Called 10000@sipgate
    -- 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/10000@sipgate|30|r") in new stack
    -- Called 10000@sipgate
  == 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/10000@sipgate,30,r)                                      
exten => _.,4,Hangup

hat jemand ne idee?
 
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...
 
klingt sehr logisch, danke ;)
 
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
 
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 ;)
 
jau
 
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})
 
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.