[Home]

Summary:ASTERISK-09529: [patch] support for Cirpack keepalive packets and RFC 2388 DTMF inside SIP INFO packets
Reporter:Emmanuel BUU (neutrino88)Labels:
Date Opened:2007-05-27 10:06:44Date Closed:2007-07-11 19:59:24
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/Interoperability
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) cirp+dtmf2.patch
( 1) cirpack+dtmf.patch
Description:Some tests with telephony providers brought us to add support for keep alive packets sent by Cirpack switches and a strange DTMF transport mode supported by eConf (Soft phone from Orange R&D).
Comments:By: Emmanuel BUU (neutrino88) 2007-05-27 10:07:35

Correction: DTMF is RFC 2833 content but inside INFO packets.

By: Olle Johansson (oej) 2007-05-29 01:45:40

Thanks for contributing!

This is not following our code guidelines, please revisit these and change the file accordingly.
I would also like to see a SIP debug of these messages, that are non-standard. Why are they doing it this strange way? Any reason why we should support this proprietary format, don't they support any standards in this area?

By: Olle Johansson (oej) 2007-05-29 01:47:11

And you log one event three times, which is far too much logging for DTMF

By: Emmanuel BUU (neutrino88) 2007-05-29 07:05:55

Sip debug for keepalive packet.

<--- SIP read from 212.27.52.5:5060 --->
Cirpack KeepAlive Packet
<------------->
[May 29 20:00:35] DEBUG[4628]: chan_sip.c:4682 parse_request: Header 0: Cirpack KeepAlive Packet (24)
[May 29 20:00:35] WARNING[4628]: chan_sip.c:6573 determine_firstline_parts: Bad request protocol Packet
--- (1 headers 0 lines) ---

By: Emmanuel BUU (neutrino88) 2007-05-29 07:10:57

SIP debug trace for DTMF packet.

<--- SIP read from 217.128.23.17:1024 --->
INFO sip:2200@88.191.23.38 SIP/2.0
From: <sip:50213@172.20.100.119>;tag=7403c20-776414ac-13c4-40030-19ae9-5077182b-19ae9
To: "Germain 6500 2200"<sip:2200@visioassistance.net>;tag=as048c82f4
Call-ID: 5bb71ed745be61ee350228811ca4d287@visioassistance.net
CSeq: 16 INFO
Via: SIP/2.0/UDP 172.20.100.119:5060;branch=z9hG4bK-19af1-6453d94-8930c10
Max-Forwards: 70
Supported: 100rel,replaces
Contact: <sip:50213@172.20.100.119>
Content-Type: audio/telephone-event
Content-Length: 4


?
<------------->
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 0: INFO sip:2200@88.191.23.38 SIP/2.0 (34)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 1: From: <sip:50213@172.20.100.119>;tag=7403c20-776414ac-13c4-40030-19ae9-5077182b-19ae9 (85)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 2: To: "Germain 6500 2200"<sip:2200@visioassistance.net>;tag=as048c82f4 (68)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 3: Call-ID: 5bb71ed745be61ee350228811ca4d287@visioassistance.net (61)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 4: CSeq: 16 INFO (13)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 5: Via: SIP/2.0/UDP 172.20.100.119:5060;branch=z9hG4bK-19af1-6453d94-8930c10 (73)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 6: Max-Forwards: 70 (16)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 7: Supported: 100rel,replaces (26)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 8: Contact: <sip:50213@172.20.100.119> (35)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 9: Content-Type: audio/telephone-event (35)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 10: Content-Length: 4 (17)
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4662 parse_request: Header 11:  (0)
--- (11 headers 1 lines) ---
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:4450 find_call: = Found Their Call ID: 5bb71ed745be61ee350228811ca4d287@visioassistance.net Their Tag 7403c20-776414ac-13c4-40030-19ae9-5077182b-19ae9 Our tag: as048c82f4
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:14868 handle_request: **** Received INFO (13) - Command in SIP INFO
Receiving INFO!
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:10948 handle_request_info: RTP 2833 in SIP INFO (eConf) raw data Event: 0b ffffff8a 01 fffffff4
[May 29 20:04:25] DEBUG[4628]: chan_sip.c:10952 handle_request_info: RTP 2833 in SIP INFO (eConf) Event: 0000000b
* DTMF telephone event received: #

<--- Transmitting (NAT) to 217.128.23.17:1024 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 172.20.100.119:5060;branch=z9hG4bK-19af1-6453d94-8930c10;received=217.128.23.17
From: <sip:50213@172.20.100.119>;tag=7403c20-776414ac-13c4-40030-19ae9-5077182b-19ae9
To: "Germain 6500 2200"<sip:2200@visioassistance.net>;tag=as048c82f4
Call-ID: 5bb71ed745be61ee350228811ca4d287@visioassistance.net
CSeq: 16 INFO
User-Agent: Centre Appel IVeS
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Contact: <sip:2200@88.191.23.38>
Content-Length: 0


<------------>
[May 29 20:04:25] DEBUG[4834]: channel.c:3977 ast_generic_bridge: Got DTMF end on channel (SIP/50213-083cc508)
[May 29 20:04:25] DEBUG[4834]: channel.c:4249 ast_channel_bridge: Bridge stops bridging channels SIP/2200-083c85a0 and SIP/50213-083cc508
[May 29 20:04:25] DEBUG[4834]: res_features.c:1052 ast_feature_interpret: Feature interpret: chan=SIP/2200-083c85a0, peer=SIP/50213-083cc508, sense=2, features=2

By: Emmanuel BUU (neutrino88) 2007-05-29 07:27:01

Modified patch: formatting improved, removed some traces according to request.

By: Julien Lesaint (jlesaint) 2007-06-01 12:14:32

Another provider, same hardware vendor, almost same behavior.
Asterisk doesn't have to deal with this, but at least there could be an option to ignore that cr*p.

<--- SIP read from 212.27.52.5:5060 --->
Cirpack KeepAlive Packet
<------------->
[Jun  1 19:12:01] WARNING[5257]: chan_sip.c:6400 determine_firstline_parts: Bad request protocol Packet
[Jun  1 19:12:01] --- (1 headers 0 lines) ---
[Jun  1 19:12:01]

19:12:01.174136 IP (tos 0x0, ttl  52, id 1001, offset 0, flags [none], proto: UDP (17), length: 60) 212.27.52.5.5060 > REMOVED.5060: [udp sum ok] SIP, length: 32
       Cirpack KeepAlive Packet\000\000\000\000\000\000\000\000
       0x0000:  4369 7270 6163 6b20 4b65 6570 416c 6976
       0x0010:  6520 5061 636b 6574 0000 0000 0000 0000
       0x0000:  4500 003c 03e9 0000 3411 274a d41b 3405  E..<....4.'J..4.
       0x0010:  3e04 155a 13c4 13c4 0028 2020 4369 7270  >..Z.....(..Cirp
       0x0020:  6163 6b20 4b65 6570 416c 6976 6520 5061  ack.KeepAlive.Pa
       0x0030:  636b 6574 0000 0000 0000 0000            cket........