DTMF+SIP(Extern)+MeetMe geht nicht

bongartz schrieb:
Ruf' dich doch ganz einfach mal über die Sipgate-Nummer an, drücke auf den Tasten rum und höre, ob dir DTMF ins Ohr bläst.

Wie ich (und andere) bereits geschrieben haben ist die Wahrscheinlichkeit nicht sonderlich hoch, dass es klappt. Die Töne werden ausgefiltert.

DTMF funktioniert über sipgate in alle Richtungen, es müssen nur alle beteiligten Punkte den DTMF Modus SIP INFO unterstützen. Ich kann Dir gerne mal eine meiner Sipgate Nummern geben wo Du Zahlen eintippen kannst, die Dir dann vorgelesen werden, wenn Du es nicht glaubst.
 
@bongartz
Danke, aber die Töne kommen an :


- Asterisk läuft
- SIP Provider Sipgate empfängt den Anruf und leitet Ihn an meinen registrierten SIP Account auf dem Asterisk weiter
- Asterisk nimmt an und legt los...
- Annahme: DTMF Töne werden gefiltert und kommen NICHT bis zum Asterisk

----

Jetzt sieht es bei mir aber so aus, dass mein Asterisk sofort meldet, wenn ich einen Taste drücke, dass er sie auch empfangen hat:

* DTMF received: '#' z.B.

D.h. --> die Töne werden nicht gefiltert.

----

Zu dem, was ich bisher nachvollziehen konnte:

Es gibt im SIP Protokoll beim "Handshake" eine Übertragung, die dem Empfänger mitteilt, was ihn erwartet bzw. was der Service kann:

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Content-Type: application/sdp
Content-Length: 345
v=0
o=root 25073 25073 IN IP4 80.xxxxxx
s=session
c=IN IP4 80.xxxxxx
t=0 0
m=audio 13684 RTP/AVP 0 8 3 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:eek:ff - - - -


entscheidend scheint hier die Zeile m=audio zu sein.

a=rtmap:101 sowie a=fmtp:101 geben ebenfalls Info dazu!
so viel weiß ich bis jetzt :
101 am Ende = rcf2833 enabled
nix am Ende = nix mit DTMF (bspw. 8 0 3 ____ )
110 am Ende = keine Ahnung, funzt aber nicht!

Zu Sipgate:
Sipgate lässt m=audio am Ende leer = nicht Funktion

Zu 1&1:
1und1 setzt 110 und damit Ende im Gelände

Zu Nikotel: (Danke an den Nachbarn :) )
Nikotel setzt ebenfall nichts

Allgemein:

Es scheint so zu sein, dass dies auch noch davon abhängt, ob per Festnetz, SIP oder Mobil angerufen wird:

1und1 Mobil = nix
1und1 Festnetz = 110
1und Sip zu 1und1 Sip = nix

Asterisk reagiert meiner Beobachtung nach erst dann auf DTMF, wenn SIP ihm mitteilt, dass der Sender dies unterstützt.

Also - DTMF kommt definitv durch.
Asterisk bekommt es auch mit, reagiert aber mangels SIP mode nicht!

Lediglich Sipgate lässt die Töne bei Anruf vom Mobiltelefon gar nicht durch, was aber auch am Provider (bei mir E-Plus) liegen könnte.

Dies entspricht auch dem bug report, den TinTin gepostet hat (THANX! Hat mir sehr weitergeholfen, das Problem zu verstehen!!!)

Ich denke, ohne Asterisk-Lösung oder "Aufräumen" bei den Providern wird das wohl nix.

Derzeit habe ich 1und1 dazu gebracht (k.A. warum) auf einem SIP Trunk mit 101 anzukommen. Aber da die Leitung jetzt gerade nicht mehr erreichbar ist (irgendwo nen Fehler im scripting) kann ich gerade nicht weiter testen.

Es wäre sehr sehr nett von Euch, wenn Ihr andere Provider habt, die den Mode 101 unterstützen, diese zu posten.
Findet Ihr bei jeder SIP Verbindung (sip debug peer) beim Verbinden...

Damit könnte anderen (natürlich auch mir :) ) eine lange Suche & viel testen erspart bleiben...

sooo long, Gruß,
yosh01
 
Update:

Jetzt kommt der Hammer:

habe mal ein bisschen mitgesnifft und getraced.

Lässt man den Asterisk ins leere laufen (erzeugt einen Fehler im script), dann antwortet er zwar auf den Sip, sagt aber nicht, dass er ein Asterisk ist...

Folge bei 1und1: die 101 wird übertragen!!!

Geht er ohne künstlichen Fehler auf die SIP Einladung ein, wups --> 101 ist wech...

Der künstliche Fehler war mein exten um die Antwort auf den Tastendruck zu testen :)

(Und) Ob das wohl Absicht ist?!

DANKE 1und1, Danke!
Mann, so ein Mist...

cu
yosh01
 
Hast Du es denn mit WaitExten jetzt mal gegengetestet?

Ich habe auch beim Anruf von einem EPlus Handy auf eine meiner sipgate Nummern keine Probleme die DTMFs mit Asterisk zu erkennen und auszuwerten damit. Ich fahre jetzt Asterisk 1.2.3 aber das war auch schon mit der 1.0.9 und sipgate kein Problem.
 
Hi TinTin,

das mit dem WaitExten Script bekomme ich einfach nicht hin. Irgendwie bin ich dann nicht mehr erreichbar. Habe auch schon die Zeit hochgedreht...
Finde einfach den Fehler nicht...

Wäre aber mal richtig interessant, zu sehen, was passiert...

Das mit Sipgate kann ich mir gut vorstellen. Das fehlende Parameter kann auch an einer falschen Einstellung meinerseit liegen.

Aber das mit 1und1 finde ich ja krass...

Hast Du das Script von Dir mal für mich ?

Danke im vorraus,

Gruß,
yosh01
 
Yosh01 schrieb:
Lässt man den Asterisk ins leere laufen (erzeugt einen Fehler im script), dann antwortet er zwar auf den Sip, sagt aber nicht, dass er ein Asterisk ist...

Öhm, wie jetzt, "ins Leere laufen" lassen? Was meinst Du damit?
Man kann den useragent auch setzen in der sip.conf unter dem [general] tag:

useragent=1&1 kann mich mal
 
Code:
[DeinIncomingContextFürDieSipgateNummer]
exten => DeineSipgateNummer,1,Goto(testcall,s,1)

[testcall]
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,Background(pls-entr-num-uwish2-call)
exten => s,4,Background(then-press-pound)
exten => s,5,Set(NR=)
exten => s,6,Set(TIMEOUT(response)=60)
exten => s,7,WaitExten

exten => _X,1,Set(NRALT=${NR})
exten => _X,2,SayNumber(${EXTEN})
exten => _X,3,Set(NR=${NR}${EXTEN})
exten => _X,4,Goto(s,6)

exten => **,1,Set(NR=${NRALT})
exten => **,2,Goto(s,6)
exten => *9,1,SayDigits(${NR})
exten => *9,2,Goto(s,6)
exten => *#,1,Goto(s,5)

exten => #,1,PlayBack(pls-wait-connect-call)
exten => #,2,Goto(dial_out,${NR},1)

[dial_out]
exten => _X.,1,Dial(SIP/{EXTEN}@DeinProvider,60,r)

Das Ganze ist Teil eines callthroughs bei mir - läuft schon sehr lange und sehr gut mit der sipgate Nummer, nie ein einziges Problem mit den DTMFs gehabt. Gerade auch mit EPlus, weil ich die sipgate Nummer als Partner-Nummer einer ePlus prepaid eingetragen habe und damit für 5c/min. vom Handy aus telefoniere (bzw. telefonierte, heute mache ich es per callback über genion bwhz ganz kostenlos).
 
Zuletzt bearbeitet:
Ich meine, wenn er den Sip nicht zu Ende beantwortet und abbricht (Teilnehmer derzeit nicht erreichbar am Festnetz)... Vorher antwortet 1und1 dann noch mit der 101 am Ende...

Leitest Du weiter und Asterisk meldet sicht und gibt sich zu erkennen (kann gerne mal den Trace posten), fehlt plötzlich die 101...

Habe jetzt doch WaitExten hinbekommen. D A N K E !!!!

Seltsam seltsam. Jetzt kommt wieder die 110, wie im bug report zu 1und1 geschrieben...

v=0
o=- 48937 0 IN IP4 62.206.6.194
s=Cisco SDP 0
c=IN IP4 62.206.6.194
t=0 0
m=audio 17004 RTP/AVP 8 0 2 99 18 110 <-----!!
a=rtpmap:99 G726-24/8000
a=rtpmap:110 X-NSE/8000
a=fmtp:110 192-194,200-202
a=X-sqn:0
a=X-cap: 1 audio RTP/AVP 110
a=X-cpar: a=rtpmap:110 X-NSE/8000 <----!!!
a=X-cpar: a=fmtp:110 192-194,200-202 <----!!
a=X-cap: 2 image udptl t38

Trotzdem reagiert er nicht...

Bei Sipgate sieht es so aus:

v=0
o=root 14927 14927 IN IP4 217.10.66.71
s=session
c=IN IP4 217.10.66.71
t=0 0
m=audio 10722 RTP/AVP 8 0 3 97 18 2 4 5 110 7 10
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:97 iLBC/8000
a=rtpmap:18 G729/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:4 G723/8000
a=rtpmap:5 DVI4/8000
a=rtpmap:110 speex/8000
a=rtpmap:7 LPC/8000
a=rtpmap:10 L16/8000
a=silenceSupp:eek:ff - - - -


da fehlts irgendwie komplett ??


Bei beiden legt * nach 5 sek. auf. Kein Trunk reagiert auf DTMF...


Gruß,
Yosh01
 
Zuletzt bearbeitet:
Hattest Du es mit meinem Beispiel probiert? Bei mir kommt das Ganze ähnlich an und funktioniert (sipgate):

Code:
v=0
o=root 28595 28595 IN IP4 217.10.67.5
s=session
c=IN IP4 217.10.67.5
t=0 0
m=audio 14156 RTP/AVP 8 0 3 97 18 111 4 5 110 7 10
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:97 iLBC/8000
a=rtpmap:18 G729/8000
a=rtpmap:111 G726-32/8000
a=rtpmap:4 G723/8000
a=rtpmap:5 DVI4/8000
a=rtpmap:110 speex/8000
a=rtpmap:7 LPC/8000
a=rtpmap:10 L16/8000
a=silenceSupp:off - - - -

Using INVITE request as basis request - [email protected]
Sending to 217.10.79.9 : 5060 (non-NAT)
Found peer 'sipgate16'
Found RTP audio format 8
Found RTP audio format 0
Found RTP audio format 3
Found RTP audio format 97
Found RTP audio format 18
Found RTP audio format 111
Found RTP audio format 4
Found RTP audio format 5
Found RTP audio format 110
Found RTP audio format 7
Found RTP audio format 10
Peer audio RTP is at port 217.10.67.5:14156
Found description format PCMA
Found description format PCMU
Found description format GSM
Found description format iLBC
Found description format G729
Found description format G726-32
Found description format G723
Found description format DVI4
Found description format speex
Found description format LPC
Found description format L16
Capabilities: us - 0xc (ulaw|alaw), peer - audio=0x7ff (g723|gsm|ulaw|alaw|g726|adpcm|slin|lpc10|g729|speex|ilbc)/video=0x0 (nothing), combined - 0xc (ulaw|alaw)
Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x0 (nothing), combined - 0x0 (nothing)

Keine Ahnung was Deine AMP Trunks da machen!? Ich nutze AMP auch nicht...
 
Nein, leider kommt er mit dem SET (NR=) nicht klar.

Macht immer nen == Spawn extension (custom-testcall, s, 5) exited non-zero on 'SIP/xxxxxx-12f1' ...

Haste noch ne andere Idee für einen Test? Denke das liegt am Amp, dass er mit den Variablen Probleme hat.

Update:

Bin doch noch einen Schritt weiter gekommen.

Intern scheint beim mir der Asterisk beim bridging nicht DTMF zu unterstützen:

Code:
We're at 84.xxx port 10016
Answering with preferred capability 0x8 (alaw)
Answering with capability 0x4 (ulaw)
Reliably Transmitting (no NAT):
SIP/2.0 200 OK
Via: SIP/2.0/UDP 217.10.79.9;branch=z9hG4bK699d.6e6c8913.0
Via: SIP/2.0/UDP 217.10.79.8;branch=z9hG4bK699d.ef744933.0
Via: SIP/2.0/UDP 217.10.66.71:5060;branch=z9hG4bK4c9596f2
Record-Route: <sip:[email protected];ftag=as604c0792;lr=on>
Record-Route: <sip:[email protected];ftag=as604c0792;lr=on>
From: "023xxxxx" <sip:[email protected]>;tag=as604c0792
To: <sip:[email protected]>;tag=as5a1be543
Call-ID: [email protected]
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[email protected]>
Content-Type: application/sdp
Content-Length: 184

v=0
o=root 25493 25493 IN IP4 84.xxxxx
s=session
c=IN IP4 84.xxxxxx
t=0 0
m=audio 10016 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=silenceSupp:off - - - -
Mhmmmm, hat jemand eine Ahnung, wie ich meinem SIP beibringe, dass er hier DTMF unterstützt?
Könnte es sein, dass die Anweisungen der SIP.Conf schuld sind?

Hier nochmal meine SIP.conf,

Code:
[general]

port = 5060           ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0    ; Address to bind to (all addresses on machine)
externip=84.16.234.18
disallow=all
srvlookup=yes
language=de
allow=alaw
allow=ualaw
allow=gsm
;allow=g729
;allow=slinear
context = from-sip-external ; Send unknow SIP Callers to this context
callerid = Unknown

#include sip_nat.conf
#include sip_custom.conf
#include sip_additional.conf

und meine sip.custom.conf:

Code:
register=aaaa:[email protected]/aaaa


[aaaa]
tos=0x18
secret=xxxx
qualify=no
nat=no
insecure=very
dtmfmode=info
disallow=all
context=from-pstn
canreinvite=no
allow=ulaw
allow=alaw

[sipgate]
username=aaaaa
type=friend
tos=0x18
secret=xxxx
qualify=no
nat=no
insecure=very
host=sipgate.de
fromuser=aaaaa
fromdomain=sipgate.de
dtmfmode=info
disallow=all
context=from-pstn
canreinvite=no
allow=ulaw
allow=alaw


Gruß,
yosh01
 
Zuletzt bearbeitet:
Oha...

externip=84.16.234.18

externip rausnehmen, brauchst Du nicht auf einem Server mit WAN IP, stattdessen am besten bei bindaddr= eintragen:

bindaddr=84.16.234.18 ; Address to bind to (all addresses on machine)

Am besten keine blanks vor und nach "=" , auch nicht bei port= , bin mir jetzt nicht sicher ob das relevant ist oder nicht, aber ich habe es ohne blanks.

allow=ualaw

das Teil heißt ulaw nicht ualaw, also
allow=ulaw

die beiden allow= am besten gleich unter das disallow, damit man den Überblick nicht verliert

[Edit]
und schreib das allow=ulaw überall mal VOR das allow=alaw, sowohl in [general] als auch unter [sipgate]
 
[Edit] meines vorherigen postings bitte beachten.

Nein, leider kommt er mit dem SET (NR=) nicht klar.

Ja, klar, Deine ältere Asterisk Version (1.09 ?) kennt diese Syntax noch nicht, nimm diesen Code:

Code:
[DeinIncomingContextFürDieSipgateNummer]
exten => DeineSipgateNummer,1,Goto(testcall,s,1)

[testcall]
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,Background(pls-entr-num-uwish2-call)
exten => s,4,Background(then-press-pound)
exten => s,5,SetVar(NR=)
exten => s,6,ResponseTimeout(60)
exten => s,7,WaitExten

exten => _X,1,SetVar(NRALT=${NR})
exten => _X,2,SayNumber(${EXTEN})
exten => _X,3,SetVar(NR=${NR}${EXTEN})
exten => _X,4,Goto(s,6)

exten => **,1,SetVar(NR=${NRALT})
exten => **,2,Goto(s,6)
exten => *9,1,SayDigits(${NR})
exten => *9,2,Goto(s,6)
exten => *#,1,Goto(s,5)

exten => #,1,PlayBack(pls-wait-connect-call)
exten => #,2,Goto(dial_out,${NR},1)

[dial_out]
exten => _X.,1,Dial(SIP/{EXTEN}@DeinProvider,60,r)
 
@TinTin..

Danke... Mann, cooler verschreiber. Habe jetzt alles entsprechend korrigiert.

Funzt leider immer noch nicht.

Hier mal der Unterschied zu intern, von sipgate und Vermittlung zwischen beiden:

Intern (FBF)
Code:
port=5060
From: <sip:[email protected]>;tag=C34D2CBF96F7CA73DFFE67F4AA05
To: <sip:[email protected]>;tag=as4e4e6f01
Call-ID: [email protected]
CSeq: 24455 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[email protected]>
Content-Type: application/sdp
Content-Length: 263

v=0
o=root 27131 27131 IN IP4 84.16.234.18
s=session
c=IN IP4 84.16.234.18
t=0 0
m=audio 14874 RTP/AVP 8 3 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -

Sieht Ok aus...???

Und extern:
Von Sipgate:
Code:
Sip read:
INVITE sip:[email protected] SIP/2.0
Record-Route: <sip:[email protected];ftag=as65065a59;lr=on>
Max-Forwards:  9
Record-Route: <sip:[email protected];ftag=as65065a59;lr=on>
Via: SIP/2.0/UDP 217.10.79.9;branch=z9hG4bKa67f.a4c0fb77.0
Via: SIP/2.0/UDP 217.10.79.8;branch=z9hG4bKa67f.2fe0b104.0
Via: SIP/2.0/UDP 217.10.66.71:5060;branch=z9hG4bK01dd47eb
From: "023xxxxx" <sip:[email protected]>;tag=as65065a59
To: <sip:[email protected]>
Contact: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 102 INVITE
User-Agent: sipgate asterisk
Date: Thu, 26 Jan 2006 22:15:06 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Content-Type: application/sdp
Content-Length: 411

v=0
o=root 17152 17152 IN IP4 217.10.66.71
s=session
c=IN IP4 217.10.66.71
t=0 0
m=audio 11190 RTP/AVP 8 0 3 97 18 2 4 5 110 7 10
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:97 iLBC/8000
a=rtpmap:18 G729/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:4 G723/8000
a=rtpmap:5 DVI4/8000
a=rtpmap:110 speex/8000
a=rtpmap:7 LPC/8000
a=rtpmap:10 L16/8000
a=silenceSupp:off - - - -

17 headers, 18 lines
Using latest request as basis request
Sending to 217.10.79.9 : 5060 (non-NAT)
Found peer 'sipgate'
Found RTP audio format 8
Found RTP audio format 0
Found RTP audio format 3
Found RTP audio format 97
Found RTP audio format 18
Found RTP audio format 2
Found RTP audio format 4
Found RTP audio format 5
Found RTP audio format 110
Found RTP audio format 7
Found RTP audio format 10
Peer audio RTP is at port 217.10.66.71:11190
Found description format PCMA
Found description format PCMU
Found description format GSM
Found description format iLBC
Found description format G729
Found description format G726-32
Found description format G723
Found description format DVI4
Found description format speex
Found description format LPC
Found description format L16
Capabilities: us - 0xc (ulaw|alaw), peer - audio=0x7ff (g723|gsm|ulaw|alaw|g726|adpcm|slin|lpc10|g729|speex|ilbc)/video=0x0 (nothing), combined - 0xc (ulaw|alaw)
Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x0 (nothing), combined - 0x0 (nothing)
Looking for xxxsipgatexxx in from-pstn
list_route: hop: <sip:[email protected];ftag=as65065a59;lr=on>
list_route: hop: <sip:[email protected];ftag=as65065a59;lr=on>
list_route: hop: <sip:[email protected]>
Transmitting (no NAT):
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 217.10.79.9;branch=z9hG4bKa67f.a4c0fb77.0
Via: SIP/2.0/UDP 217.10.79.8;branch=z9hG4bKa67f.2fe0b104.0
Via: SIP/2.0/UDP 217.10.66.71:5060;branch=z9hG4bK01dd47eb
From: "02324681044" <sip:[email protected]>;tag=as65065a59
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[email protected]>
Content-Length: 0

Ebenfalls OK...

Dann

sipgate <-> intern

Code:
We're at 84.16.234.18 port 17740
Answering with preferred capability 0x8 (alaw)
Answering with preferred capability 0x4 (ulaw)
Reliably Transmitting (no NAT):
SIP/2.0 200 OK
Via: SIP/2.0/UDP 217.10.79.9;branch=z9hG4bKa67f.a4c0fb77.0
Via: SIP/2.0/UDP 217.10.79.8;branch=z9hG4bKa67f.2fe0b104.0
Via: SIP/2.0/UDP 217.10.66.71:5060;branch=z9hG4bK01dd47eb
Record-Route: <sip:[email protected];ftag=as65065a59;lr=on>
Record-Route: <sip:[email protected];ftag=as65065a59;lr=on>
From: "02324681044" <sip:[email protected]>;tag=as65065a59
To: <sip:[email protected]>;tag=as1014c41d
Call-ID: [email protected]
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[email protected]>
Content-Type: application/sdp
Content-Length: 184

v=0
o=root 27131 27131 IN IP4 84.16.234.18
s=session
c=IN IP4 84.16.234.18
t=0 0
m=audio 17740 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=silenceSupp:off - - - -

 to 217.10.79.9:5060
    -- Executing Wait("SIP/xxxxxx-4b3a", "1") in new stack

Hier fehlt irgendwie die konfig von m=audio... Aber warum???

Komme echt nicht weiter... Wo wird denn hier (interne Vermittlung) der DTMF Codec eingestellt?

Gruß,
yosh01
 
Verliere etwas den Überblick was Du meinst.

Der Anruf von extern Festnetz auf die Sipgate Nummer -> Asterisk und DTMF mit WaitExten (geändertes Beispiel siehe oben) funktioniert nun?

Das DTMF zwischen Einwahl über sipgate und Deiner FBF nicht funktioniert wundert nun wiederum nicht, weil die FBF (von Haus aus zumindest) kein INFO macht (!)
 
Sorry,

hatte Dein korrigiertes Posting übersehen...

Werde nachher mal mit der Änderung testen.

Mit intern war gemeint, dass ich über die FBF per SIP an den Server (Kurzwahl 820) anrufe.

Mit sipgate <-> intern war gemeint, dass der eingehende (egal ob von FBF oder Festnetz etc.)Anruf über sipgate offensichtlich intern weitergeleitet wird.

In diesem Fall erscheint eben keine Klassifizierung des DTMF Codec:

Code:
We're at 84.16.234.18 port 17740
Answering with preferred capability 0x8 (alaw)
Answering with preferred capability 0x4 (ulaw)
Reliably Transmitting (no NAT):
SIP/2.0 200 OK
Via: SIP/2.0/UDP 217.10.79.9;branch=z9hG4bKa67f.a4c0fb77.0
Via: SIP/2.0/UDP 217.10.79.8;branch=z9hG4bKa67f.2fe0b104.0
Via: SIP/2.0/UDP 217.10.66.71:5060;branch=z9hG4bK01dd47eb
Record-Route: <sip:[email protected];ftag=as65065a59;lr=on>
Record-Route: <sip:[email protected];ftag=as65065a59;lr=on>
From: "02324681044" <sip:[email protected]>;tag=as65065a59
To: <sip:[email protected]>;tag=as1014c41d
Call-ID: [email protected]
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[email protected]>

---> Hier ruft lädt er den externen Sipgate Anruf ein und vermittelt an meinen internen sip: xxx@server

Der Unterschied zum internen Anruf über FBF (der klappt ja trotz rfc2833) ist, dass offensichtlich irgendetwas (keine Ahnung wo??) am Server bei mir falsch sein muss, so dass er eben nicht DTMF konfiguriert:

Code:
Content-Type: application/sdp
Content-Length: 184

v=0
o=root 27131 27131 IN IP4 84.16.234.18
s=session
c=IN IP4 84.16.234.18
t=0 0
m=audio 17740 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=silenceSupp:off - - - -

1. Server nimmt ab (sipgate)
2. SIP sipgate definiert die Paramater = sieht ok aus
3. Server lädt SIP sipgate auf den internen SIP ein (1. Code oben)
4. Server definiert internen SIP = sieht falsch aus... (2. Code unten)

????

Gruß,
yosh01
 
yosh,

tut mir leid, aber ich bin total verwirrt von Deinen ganzen Beschreibungen und kann es immer noch nicht nachvollziehen von wo nach wo Du telefonierst und es Probleme gibt, liegt wohl aber an mir.

Ich wollte mich mit Dir dem Problem erstmal dahingehend nähern festzustellen, ob es an Meetme liegt oder es generell ein DTMF Problem gibt, erstmal nur mit Anruf von extern auf sipgate Nummer hin zu Deinem Asterisk und dort eben mal mit WaitExten checken ob diese Funktion zumindest die DTMFs schonmal erkennt, denn das sollte auf jeden Fall gehen, wenn sipgate mit dtmfmode=info eingetragen ist bei Dir.

---> Hier ruft lädt er den externen Sipgate Anruf ein und vermittelt an meinen internen sip: xxx@server

Hast Du 2 Asterisk Server ?? Oder meinst Du Weiterleitung auf ein Endgerät bei Dir. Wie schon gesagt, wenn das Endgerät bei dir eine FBF ist, dann kommen die Töne über sipgate auch nicht an auf diesem. FBF kann wohl nur rfc2833.


Gruß,
Tin
 
Hi TinTin,

kann ich verstehen... Habe es sicherlich auch nicht einfach erklärt :)

Also, Deine Erweiterung habe ich jetzt lauffähig. Leider akzeptiert der Asterisk weder von Festnetz (dirkt ohne FBF) noch Handy die Tastentöne.

Ebenso von völlig anderen Anschlüssen, die mit meiner IF nix zu tun haben.

Ich bin gerade dabei die Version 1.2.beta1 zu kompilieren (mit spand/ fax patch und meetme2) um auszuschließen, dass ich vielleicht eine nicht saubere Version kompiliert habe.

Melde mich später, wenn ich die neue Version mit AMP ans fliegen gebracht habe...

Danke Dir erstmal.

Gruß,
yosh01
 
TinTin schrieb:
DTMF funktioniert über sipgate in alle Richtungen, es müssen nur alle beteiligten Punkte den DTMF Modus SIP INFO unterstützen.

Das wäre schön...

Fakt: Sowohl mit Asterisk (alle "Beinchen" mit sip show peer... nachweislich DTMF-Info) als auch mit einem Sipura SPA-3000 direkt an Sipgate ist nichts zu machen.

Das Bluesip-Beinchen (z.B.) am selben Asterisk empfängt DTMF ohne Probleme, also ist der Setup "prinzipiell in Ordnung".

Dazu kommen Berichte von einigen anderen Leuten hier im Forum, dass es nunmal mit Sipgate nicht klappt.

Ein Erklärungsansatz war eine regionale Abhängigkeit, d.h. ein Zusammenhang des Problems zu dem Provider, von dem Sipgate die jeweilige Ortsrufnummer schaltet.

Micha
 
@bongartz

Das wäre DIE Erklärung dafür...

Was mich allerdings wundert ist, dass der Asterisk den einkommenden SIP Anruf auf Sipgate mit den für DTMF richtigen Parametern anzeigt.

Dementsprechend sollte die Beschränkung bei mir nicht vorliegen.

Habe gerade meinen Nikotel Brief mit der "Verifizierung" erhalten.
Weiß einer von Euch, ob Nikotel DTMF durchlässt?

Bei 1und1 habe ich vorhin mal in den Sources beim kompilieren die Asterisk SIP Kennenung (Client: Asterisk blabla) geändert.

Ratet mal, was 1und1 zurückmeldet: DTMF geht...
Ein Schelm, wer da böses vermutet :)

Ist aber sicherlich nicht GNU/GPL konform, von daher werde ich versuchen es mit Nikotel und der 1.2er Beta lauffähig zu bekommen.

Danke Euch für Euer Engagement! Finde ich SPITZE!

Gruß,
yosh01
 
Hallo Zusammen,

ich habe den Anfang des langen Posts mal ein wenig aufgeräumt, so dass nicht jeder alles lesen muss. :)

Hurra - habe es mit Nikotel zum laufen gebracht:

In der 1.10 er vom Asterisk (CVS) scheint ein Bug zu sein. Ich habe ja schon geschrieben, dass sobald der SIP Peer auf den Anruf antwortet und versucht den Anruf intern an MeetMe etc. zu vermitteln, plötzlich der DTMF Mode INTERN verschwindet.

Dies hat sich jetzt bestätigt.
Ich habe beim Asterisk die 1.10er sowie eine älter Version kompiliert.
Die Parameter habe ich dabei unverändert gelassen.
Eingerichtet waren 3 SIP SIP Trunks zum Test:
1. 1und1 (der laut mehrheitsmeinung gar nicht geht)
2. Nikotel (Vermutung von bongartz: Ortsabhängige Funktion)
3. SIpgate (mehrheitliche Meinung: Ortsabhängige Funktion)

In der 1.10er und der älteren Version habe ich keinerlei Funktion herstellen können. Egal woran ich gedreht haben (DTMFMode, Context, etc). Nix zu machen.
--> Keine Funktion, entspricht dem Bugreport von TinTin

In der 1.2beta1 habe ich die vorgeschlagenen Settings beibehalten.
Nach dem Neukompilieren --> sofort VMail Funktion bei Nikotel.
Bei allen anderen wieder Essig.

Ich werde jetzt noch weiter testen und mal alle möglichen Kombination durchprobieren.

Bei 1und1 habe ich die Funktion hin bekommen, wenn der Quellcode so angepasst wird, dass sich der Asterisk bei einem Invite nicht als User/Agent Asterisk zu erkennen gibt. In diesem Fall funzt es sofort!

Bei Sipgate werde ich die Settings nocheinmal (zum 100.sten Mal :-( )unter die Lupe nehmen.

Gruß,
Yosh01
 
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.