Neues Problem beim Wählen mit sipgate. Zunächst einmal - was mache ich:
ich wähle eine Rufnummer (mein normale FN) über ein Telefon an der HFC-Karte (im NT-mode) und lasse es klingeln. Während ich durch Asterisk bereits den Rufton höre, bekomme ich dank "bri debug span 1" nach rund 20 Sekunden (keine weiteren Ausgaben auf der Konsole) folgende Ausgabe:
und daran anschließend ein "Ungültig" im Display des Telefons angezeigt. Die Verbindung ist natürlich weg und wird per CANCEL bei Sipgate beendet.
Meine Vermutung: Bereits vor dem Klingeln gab es schon einmal eine "Progress Indicator"-Nachricht mit dem selben Inhalt - die Wiederholung wird offenbar vom Telefon (Siemens Gigaset 4110) mit einem Protokollfehler abgelehnt. Das Verhalten hatte ich mit dem bristuff 0.2.0 RC2 und auch mit der jetzt aktuellen RC3.
Hat irgendjemand mehr Ahnung davon als ich und kann es erklären oder bei der Lösung helfen?
Bei "internen" Anrufen auf andere SIP-Telefone gibt es dieses Problem nicht, ich kann es klingeln lassen, bis ich grün werde (oder der von mir gesetzte Timeout eintritt).
Zum Vergleich bei einem Anruf vom HFC-ISDN-Telefon an ein X-Lite direkt am asterisk angemeldet:
Hier noch einmal ein kompletter Anruf mit bri debug und sip debug (das "pebbles*CLI>" ist durch mein Enter-Drücken entstanden)
ich wähle eine Rufnummer (mein normale FN) über ein Telefon an der HFC-Karte (im NT-mode) und lasse es klingeln. Während ich durch Asterisk bereits den Rufton höre, bekomme ich dank "bri debug span 1" nach rund 20 Sekunden (keine weiteren Ausgaben auf der Konsole) folgende Ausgabe:
Code:
> Protocol Discriminator: Q.931 (8) len=8
> Call Ref: len= 1 (reference 129/0x81) (Terminator)
> Message type: PROGRESS (3)
> [1e 02 81 88]
> Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
> Ext: 1 Progress Description: Inband information or appropriate pattern now available. (8) ]
< Protocol Discriminator: Q.931 (8) len=8
< Call Ref: len= 1 (reference 1/0x1) (Originator)
< Message type: DISCONNECT (69)
< [08 02 80 e6]
< Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: User (0)
< Ext: 1 Cause: Recover on timer expiry (102), class = Protocol Error (6) ]
-- Processing IE 8 (cs0, Cause)
-- Channel 0/2, span 1 got hangup
== Spawn extension (eccoSIP, out203517995942, 4) exited non-zero on 'Zap/2-1'
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Disconnect Indication, peerstate Disconnect Request
> Protocol Discriminator: Q.931 (8) len=8
> Call Ref: len= 1 (reference 129/0x81) (Terminator)
> Message type: RELEASE (77)
> [08 02 81 e6]
> Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
> Ext: 1 Cause: Recover on timer expiry (102), class = Protocol Error (6) ]
-- Hungup 'Zap/2-1'
und daran anschließend ein "Ungültig" im Display des Telefons angezeigt. Die Verbindung ist natürlich weg und wird per CANCEL bei Sipgate beendet.
Meine Vermutung: Bereits vor dem Klingeln gab es schon einmal eine "Progress Indicator"-Nachricht mit dem selben Inhalt - die Wiederholung wird offenbar vom Telefon (Siemens Gigaset 4110) mit einem Protokollfehler abgelehnt. Das Verhalten hatte ich mit dem bristuff 0.2.0 RC2 und auch mit der jetzt aktuellen RC3.
Hat irgendjemand mehr Ahnung davon als ich und kann es erklären oder bei der Lösung helfen?
Bei "internen" Anrufen auf andere SIP-Telefone gibt es dieses Problem nicht, ich kann es klingeln lassen, bis ich grün werde (oder der von mir gesetzte Timeout eintritt).
Zum Vergleich bei einem Anruf vom HFC-ISDN-Telefon an ein X-Lite direkt am asterisk angemeldet:
Code:
> Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
> Ext: 1 Progress Description: Inband information or appropriate pattern now available. (8) ]
... es klingelt
> Protocol Discriminator: Q.931 (8) len=7
> Call Ref: len= 1 (reference 129/0x81) (Terminator)
> Message type: CALL PROCEEDING (2)
> [18 01 8a]
> Channel ID (len= 3) [ Ext: 1 IntID: Implicit, Other Spare: 0, Exclusive Dchan: 0
> ChanSel: B2 channel
]
> Protocol Discriminator: Q.931 (8) len=8
> Call Ref: len= 1 (reference 129/0x81) (Terminator)
> Message type: ALERTING (1)
> [1e 02 81 88]
> Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
> Ext: 1 Progress Description: Inband information or appropriate pattern now available. (8) ]
... laaaanges Klingeln, und danach geht die Mailbox (asterisk) ran:
> Protocol Discriminator: Q.931 (8) len=18
> Call Ref: len= 1 (reference 129/0x81) (Terminator)
> Message type: CONNECT (7)
> [18 01 8a]
> Channel ID (len= 3) [ Ext: 1 IntID: Implicit, Other Spare: 0, Exclusive Dchan: 0
> ChanSel: B2 channel
]
> [1e 02 81 82]
> Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
> Ext: 1 Progress Description: Called equipment is non-ISDN. (2) ]
> [29 05 05 01 04 0c 1d]
> Time Date (len= 7) [ 05-01-04 12:29 ]
< Protocol Discriminator: Q.931 (8) len=4
< Call Ref: len= 1 (reference 1/0x1) (Originator)
< Message type: CONNECT ACKNOWLEDGE (15)
-- Playing 'voicemail/default/1001/unavail' (language 'en')
Hier noch einmal ein kompletter Anruf mit bri debug und sip debug (das "pebbles*CLI>" ist durch mein Enter-Drücken entstanden)
Code:
< Protocol Discriminator: Q.931 (8) len=37
< Call Ref: len= 1 (reference 1/0x1) (Originator)
< Message type: SETUP (5)
< [04 03 80 90 a3]
< Bearer Capability (len= 5) [ Ext: 1 Q.931 Std: 0 Info transfer capability: Speech (0)
< Ext: 1 Trans mode/rate: 64kbps, circuit-mode (16)
< Ext: 1 User information layer 1: A-Law (35)
< [6c 06 01 80 31 30 30 34]
< Calling Number (len= 8) [ Ext: 0 TON: Unknown Number Type (0) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1)
< Presentation: Presentation permitted, user number not screened (0) '1004' ]
< [70 0e 81 39 31 30 33 35 31 37 39 39 35 39 34 32]
< Called Number (len=16) [ Ext: 1 TON: Unknown Number Type (0) NPI: ISDN/Telephony Numbering Plan (E.164/E.163) (1) '91[Zielrufnummer]' ]
< [7d 02 91 81]
< IE: High-layer Compatibility (len = 4)
-- Making new call for cr 1
-- Processing Q.931 Call Setup
-- Processing IE 4 (cs0, Bearer Capability)
-- Processing IE 108 (cs0, Calling Party Number)
-- Processing IE 112 (cs0, Called Party Number)
-- Processing IE 125 (cs0, High-layer Compatibility)
== 0/2 EC-enable in line 6959
> Protocol Discriminator: Q.931 (8) len=11
> Call Ref: len= 1 (reference 129/0x81) (Terminator)
> Message type: SETUP ACKNOWLEDGE (13)
> [18 01 8a]
> Channel ID (len= 3) [ Ext: 1 IntID: Implicit, Other Spare: 0, Exclusive Dchan: 0
> ChanSel: B2 channel
]
> [1e 02 81 88]
> Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
> Ext: 1 Progress Description: Inband information or appropriate pattern now available. (8) ]
-- Accepting overlap call from '1004' to '91[Zielrufnummer]' on channel 0/2, span 1
-- Starting simple switch on 'Zap/2-1'
pebbles*CLI>
Sip read:
0 headers, 0 lines
pebbles*CLI>
-- Executing AbsoluteTimeout("Zap/2-1", "3600") in new stack
-- Set Absolute Timeout to 3600
-- Executing Goto("Zap/2-1", "10") in new stack
-- Goto (outboundCalls,91[Zielrufnummer],10)
-- Executing Goto("Zap/2-1", "out1[Zielrufnummer]|1") in new stack
-- Goto (outboundCalls,out1[Zielrufnummer],1)
-- Executing SetCallerID("Zap/2-1", "[meine Sipgate-Nummer]") in new stack
-- Executing Dial("Zap/2-1", "SIP/[Zielrufnummer]@sipgateDD|120|Tf") in new stack
pebbles*CLI>
We're at [meine IP] port 25434
Answering/Requesting with root capability 8
Answering with preferred capability 0x4 (ulaw)
Answering with non-codec capability 0x1 (telephone-event)
12 headers, 11 lines
Reliably Transmitting:
INVITE sip:[Zielrufnummer]@sipgate.de SIP/2.0
Via: SIP/2.0/UDP [meine IP]:5060;branch=z9hG4bK7ebfc0c4
From: "[meine Sipgate-Nummer]" <sip:[meine Sipgate-Nummer]@sipgate.de>;tag=as6a54beea
To: <sip:[Zielrufnummer]@sipgate.de>
Contact: <sip:[meine Sipgate-Nummer]@[meine IP]>
Call-ID: [email][email protected][/email]
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Date: Tue, 04 Jan 2005 11:23:39 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Content-Type: application/sdp
Content-Length: 244
v=0
o=root 27641 27641 IN IP4 [meine IP]
s=session
c=IN IP4 [meine IP]
t=0 0
m=audio 25434 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
(no NAT) to 217.10.79.9:5060
-- Called [Zielrufnummer]@sipgateDD
pebbles*CLI>
pebbles*CLI>
Retransmitting #1 (no NAT):
INVITE sip:[Zielrufnummer]@sipgate.de SIP/2.0
Via: SIP/2.0/UDP [meine IP]:5060;branch=z9hG4bK7ebfc0c4
From: "[meine Sipgate-Nummer]" <sip:[meine Sipgate-Nummer]@sipgate.de>;tag=as6a54beea
To: <sip:[Zielrufnummer]@sipgate.de>
Contact: <sip:[meine Sipgate-Nummer]@[meine IP]>
Call-ID: [email][email protected][/email]
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Date: Tue, 04 Jan 2005 11:23:39 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Content-Type: application/sdp
Content-Length: 244
v=0
o=root 27641 27641 IN IP4 [meine IP]
s=session
c=IN IP4 [meine IP]
t=0 0
m=audio 25434 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
to 217.10.79.9:5060
pebbles*CLI>
pebbles*CLI>
pebbles*CLI>
pebbles*CLI>
Sip read:
SIP/2.0 100 trying -- your call is important to us
Via: SIP/2.0/UDP [meine IP]:5060;branch=z9hG4bK7ebfc0c4
From: "[meine Sipgate-Nummer]" <sip:[meine Sipgate-Nummer]@sipgate.de>;tag=as6a54beea
To: <sip:[Zielrufnummer]@sipgate.de>
Call-ID: [email][email protected][/email]
CSeq: 102 INVITE
Server: sipgate ser
Content-Length: 0
Warning: 392 217.10.79.9:5060 "Noisy feedback tells: pid=9526 req_src_ip=[meine IP] req_src_port=5060 in_uri=sip:[Zielrufnummer]@sipgate.de out_uri=sip:[Zielrufnummer im internat. Format]@sipgate.net via_cnt==1"
pebbles*CLI>
9 headers, 0 lines
pebbles*CLI>
pebbles*CLI>
[Protokollbeginn, sipgate hat den Anruf-Request bekommen]
Sip read:
SIP/2.0 183 Session Progress
Via: SIP/2.0/UDP [meine IP]:5060;branch=z9hG4bK7ebfc0c4
From: "[meine Sipgate-Nummer]" <sip:[meine Sipgate-Nummer]@sipgate.de>;tag=as6a54beea
To: <sip:[Zielrufnummer]@sipgate.de>;tag=as62513aef
Call-ID: [email][email protected][/email]
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:[Zielrufnummer im internat. Format]@217.10.67.3>
Content-Type: application/sdp
Content-Length: 389
v=0
o=root 21944 21944 IN IP4 217.10.67.3
s=session
c=IN IP4 217.10.67.3
t=0 0
m=audio 12176 RTP/AVP 8 0 3 10 97 18 2 5 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:3 GSM/8000
a=rtpmap:10 L16/8000
a=rtpmap:97 iLBC/8000
a=rtpmap:18 G729/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:5 DVI4/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
11 headers, 17 lines
Found RTP audio format 8
Found RTP audio format 0
Found RTP audio format 3
Found RTP audio format 10
Found RTP audio format 97
Found RTP audio format 18
Found RTP audio format 2
Found RTP audio format 5
Found RTP audio format 101
Peer audio RTP is at port 217.10.67.3:12176
Found description format PCMA
Found description format PCMU
Found description format GSM
Found description format L16
Found description format iLBC
Found description format G729
Found description format G726-32
Found description format DVI4
Found description format telephone-event
Capabilities: us - 0xc (ulaw|alaw), peer - audio=0x57e (gsm|ulaw|alaw|g726|adpcm|slin|g729|ilbc)/video=0x0 (nothing), combined - 0xc (ulaw|alaw)
Non-codec capabilities: us - 0x1 (g723), peer - 0x1 (g723), combined - 0x1 (g723)
-- SIP/sipgateDD-0cb8 is making progress passing it to Zap/2-1
[nach einer Weile Stille höre ich den Rufton]
[ca 20 Sekunden Rufton (tuuuut ... tuuuut)]
> Protocol Discriminator: Q.931 (8) len=8
> Call Ref: len= 1 (reference 129/0x81) (Terminator)
> Message type: PROGRESS (3)
> [1e 02 81 88]
> Progress Indicator (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
> Ext: 1 Progress Description: Inband information or appropriate pattern now available. (8) ]
Sip read:
0 headers, 0 lines
pebbles*CLI>
Sip read:
0 headers, 0 lines
pebbles*CLI>
< Protocol Discriminator: Q.931 (8) len=8
< Call Ref: len= 1 (reference 1/0x1) (Originator)
< Message type: DISCONNECT (69)
< [08 02 80 e6]
< Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: User (0)
< Ext: 1 Cause: Recover on timer expiry (102), class = Protocol Error (6) ]
-- Processing IE 8 (cs0, Cause)
-- Channel 0/2, span 1 got hangup
Jan 4 12:24:06 WARNING[27641]: app_dial.c:369 wait_for_answer: Unable to forward frame
Reliably Transmitting:
CANCEL sip:[Zielrufnummer]@sipgate.de SIP/2.0
Via: SIP/2.0/UDP [meine IP]:5060;branch=z9hG4bK7ebfc0c4
From: "[meine Sipgate-Nummer]" <sip:[meine Sipgate-Nummer]@sipgate.de>;tag=as6a54beea
To: <sip:[Zielrufnummer]@sipgate.de>
Contact: <sip:[meine Sipgate-Nummer]@[meine IP]>
Call-ID: [email][email protected][/email]
CSeq: 102 CANCEL
User-Agent: Asterisk PBX
Content-Length: 0
(no NAT) to 217.10.79.9:5060
Scheduling destruction of call '[email protected]' in 15000 ms
== Spawn extension (outboundCalls, out1[Zielrufnummer], 4) exited non-zero on 'Zap/2-1'
pebbles*CLI>
Sip read:
SIP/2.0 200 cancelling
Via: SIP/2.0/UDP [meine IP]:5060;branch=z9hG4bK7ebfc0c4
From: "[meine Sipgate-Nummer]" <sip:[meine Sipgate-Nummer]@sipgate.de>;tag=as6a54beea
To: <sip:[Zielrufnummer]@sipgate.de>;tag=cbf5cb1d0d4e31526039b4f3671ccf51-0264
Call-ID: [email][email protected][/email]
CSeq: 102 CANCEL
Server: sipgate ser
Content-Length: 0
Warning: 392 217.10.79.9:5060 "Noisy feedback tells: pid=9530 req_src_ip=[meine IP] req_src_port=5060 in_uri=sip:[Zielrufnummer]@sipgate.de out_uri=sip:[Zielrufnummer im internat. Format]@sipgate.net via_cnt==1"
9 headers, 0 lines
pebbles*CLI>
Sip read:
SIP/2.0 487 Request cancelled
Via: SIP/2.0/UDP [meine IP]:5060;branch=z9hG4bK7ebfc0c4
From: "[meine Sipgate-Nummer]" <sip:[meine Sipgate-Nummer]@sipgate.de>;tag=as6a54beea
To: <sip:[Zielrufnummer]@sipgate.de>;tag=cbf5cb1d0d4e31526039b4f3671ccf51-0264
Call-ID: [email][email protected][/email]
CSeq: 102 INVITE
Server: sipgate ser
Content-Length: 0
Warning: 392 217.10.79.9:5060 "Noisy feedback tells: pid=9530 req_src_ip=[meine IP] req_src_port=5060 in_uri=sip:[Zielrufnummer]@sipgate.de out_uri=sip:[Zielrufnummer im internat. Format]@sipgate.net via_cnt==1"
9 headers, 0 lines
Transmitting:
ACK sip:[Zielrufnummer]@sipgate.de SIP/2.0
Via: SIP/2.0/UDP [meine IP]:5060;branch=z9hG4bK7ebfc0c4
From: "[meine Sipgate-Nummer]" <sip:[meine Sipgate-Nummer]@sipgate.de>;tag=as6a54beea
To: <sip:[Zielrufnummer]@sipgate.de>;tag=cbf5cb1d0d4e31526039b4f3671ccf51-0264
Contact: <sip:[meine Sipgate-Nummer]@[meine IP]>
Call-ID: [email][email protected][/email]
CSeq: 102 ACK
User-Agent: Asterisk PBX
Content-Length: 0
(no NAT) to 217.10.79.9:5060
Destroying call '[email protected]'
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Disconnect Indication, peerstate Disconnect Request
> Protocol Discriminator: Q.931 (8) len=8
> Call Ref: len= 1 (reference 129/0x81) (Terminator)
> Message type: RELEASE (77)
> [08 02 81 e6]
> Cause (len= 4) [ Ext: 1 Coding: CCITT (ITU) standard (0) 0: 0 Location: Private network serving the local user (1)
> Ext: 1 Cause: Recover on timer expiry (102), class = Protocol Error (6) ]
-- Hungup 'Zap/2-1'
< Protocol Discriminator: Q.931 (8) len=4
< Call Ref: len= 1 (reference 1/0x1) (Originator)
< Message type: RELEASE COMPLETE (90)
NEW_HANGUP DEBUG: Calling q931_hangup, ourstate Null, peerstate Null
NEW_HANGUP DEBUG: Destroying the call, ourstate Null, peerstate Null
Sip read:
0 headers, 0 lines
[Ende]