CUSTOM event messages missing FreeSWITCH-Hostname
Hi We've recently upgraded from version 1.0.head to 1.2.0-rc2 and noticed that certain events sent from php code using the ESP library have certain core headers missing, in particular 'FreeSWITCH-Hostname'. For example, using '/events plain all' in fs_cli, version 1.0.head would show RECV EVENT Event-Subclass: rmCTI::TRANSFER_ANSWER Core-UUID: 47527f1f-b6c3-4f74-9f16-32f565ee4123 FreeSWITCH-Hostname: s01pbx01.test.com FreeSWITCH-Switchname: s01pbx01.test.com FreeSWITCH-IPv4: 211.141.141.131 FreeSWITCH-IPv6: ::1 Event-Date-Local: 2012-08-03 10:43:06 Event-Date-GMT: Fri, 03 Aug 2012 09:43:06 GMT Event-Date-Timestamp: 1343986986238409 Event-Calling-File: mod_event_socket.c Event-Calling-Function: read_packet Event-Calling-Line-Number: 1188 Command: sendevent CUSTOM Event-Name: CUSTOM Channel-Name: sofia/internal1/1202@sip.test.com rmCTI-UUID: aebc98dc-22da-4ad1-8234-912487329123 rmCTI-Other-UUID: b24a8783-16b1-495e-9c4e-5ea52c362123 rmCTI-Info: Transfer to new b-leg answered where as version 1.2.0-rc2 it shows RECV EVENT Event-Subclass: rmCTI::TRANSFER_ANSWER Command: sendevent CUSTOM Event-Name: CUSTOM Channel-Name: sofia/internal1/1202@sip.test.com rmCTI-UUID: c3c7b331-0b8b-4ea5-834f-9d72fd446123 rmCTI-Other-UUID: db75c60b-a258-4b47-8d51-a1b7ac86f123 rmCTI-Info: Transfer to new b-leg answered Event-UUID: f47597b2-9e8c-4508-be57-3e1eed35c123 Is there any reason these core headers are missing? Is it something to do with CUSTOM events? Thanks in advance James Bravo
Hi. I have created a Jira and a patch for you: http://jira.freeswitch.org/browse/FS-4499 Check it out :) 2012-08-03 14:54 keltezéssel, James Bravo írta:
Hi
We've recently upgraded from version 1.0.head to 1.2.0-rc2 and noticed that certain events sent from php code using the ESP library have certain core headers missing, in particular 'FreeSWITCH-Hostname'. For example, using '/events plain all' in fs_cli, version 1.0.head would show
RECV EVENT Event-Subclass: rmCTI::TRANSFER_ANSWER Core-UUID: 47527f1f-b6c3-4f74-9f16-32f565ee4123 FreeSWITCH-Hostname: s01pbx01.test.com FreeSWITCH-Switchname: s01pbx01.test.com FreeSWITCH-IPv4: 211.141.141.131 FreeSWITCH-IPv6: ::1 Event-Date-Local: 2012-08-03 10:43:06 Event-Date-GMT: Fri, 03 Aug 2012 09:43:06 GMT Event-Date-Timestamp: 1343986986238409 Event-Calling-File: mod_event_socket.c Event-Calling-Function: read_packet Event-Calling-Line-Number: 1188 Command: sendevent CUSTOM Event-Name: CUSTOM Channel-Name: sofia/internal1/1202@sip.test.com rmCTI-UUID: aebc98dc-22da-4ad1-8234-912487329123 rmCTI-Other-UUID: b24a8783-16b1-495e-9c4e-5ea52c362123 rmCTI-Info: Transfer to new b-leg answered
where as version 1.2.0-rc2 it shows
RECV EVENT Event-Subclass: rmCTI::TRANSFER_ANSWER Command: sendevent CUSTOM Event-Name: CUSTOM Channel-Name: sofia/internal1/1202@sip.test.com rmCTI-UUID: c3c7b331-0b8b-4ea5-834f-9d72fd446123 rmCTI-Other-UUID: db75c60b-a258-4b47-8d51-a1b7ac86f123 rmCTI-Info: Transfer to new b-leg answered Event-UUID: f47597b2-9e8c-4508-be57-3e1eed35c123
Is there any reason these core headers are missing? Is it something to do with CUSTOM events?
Thanks in advance James Bravo
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
Join Us At ClueCon - Aug 7-9, 2012
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Hi We've had a number of Yealink T22 & T28 phones with later firmware crashing within approx 30 seconds of sending and receiving RTP. Yealink R&D department have narrowed it down to a non-standard RTCP 'Sender Report' packet from FreeSWITCH. For some packet content, the length field in these packets does not seem to agree with the overall UDP packet size. RFC1889 defines the length as: "The length of this RTCP packet in 32-bit words minus one, including the header and any padding." For instance, below is a RTCP packet sent from FS as viewed in Wireshark. The length field says 76 bytes but the udp packet length is 78 bytes so the last two bytes (0x31, 0x00) are excluded as far as the length field is concerned. I managed to stop the phones crashing by changing the following lines in switch_rtp.c... rtcp_bytes = sizeof(switch_rtcp_hdr_t) + sizeof(struct switch_rtcp_senderinfo) + sr->sr_desc_ssrc.length -1 ; rtp_session->rtcp_send_msg.header.length = htons((u_short)(rtcp_bytes / 4) - 1); ...to something like... { switch_size_t rtcp_bytes_mod4; rtcp_bytes = sizeof(switch_rtcp_hdr_t) + sizeof(struct switch_rtcp_senderinfo) + sr->sr_desc_ssrc.length -1 ; // Add padding and adjust length if necessary rtcp_bytes_mod4 = rtcp_bytes % 4; if (rtcp_bytes_mod4 > 0) rtcp_bytes += 4 - rtcp_bytes_mod4; rtp_session->rtcp_send_msg.header.length = htons((u_short)(rtcp_bytes / 4 - 1)); } although Freeswitch developers will probably find a better solution. Thanks in advance, James Bravo, Redmatter
This sort of thing should be reported via Jira ( http://jira.freeswitch.org ) will any logs, and patches attached... On 9/24/12 11:00 AM, "James Bravo" <james.bravo@redmatter.com> wrote:
Hi
We've had a number of Yealink T22 & T28 phones with later firmware crashing within approx 30 seconds of sending and receiving RTP. Yealink R&D department have narrowed it down to a non-standard RTCP 'Sender Report' packet from FreeSWITCH. For some packet content, the length field in these packets does not seem to agree with the overall UDP packet size. RFC1889 defines the length as: "The length of this RTCP packet in 32-bit words minus one, including the header and any padding." For instance, below is a RTCP packet sent from FS as viewed in Wireshark. The length field says 76 bytes but the udp packet length is 78 bytes so the last two bytes (0x31, 0x00) are excluded as far as the length field is concerned.
I managed to stop the phones crashing by changing the following lines in switch_rtp.c... rtcp_bytes = sizeof(switch_rtcp_hdr_t) + sizeof(struct switch_rtcp_senderinfo) + sr->sr_desc_ssrc.length -1 ; rtp_session->rtcp_send_msg.header.length = htons((u_short)(rtcp_bytes / 4) - 1); ...to something like... { switch_size_t rtcp_bytes_mod4; rtcp_bytes = sizeof(switch_rtcp_hdr_t) + sizeof(struct switch_rtcp_senderinfo) + sr->sr_desc_ssrc.length -1 ; // Add padding and adjust length if necessary rtcp_bytes_mod4 = rtcp_bytes % 4; if (rtcp_bytes_mod4 > 0) rtcp_bytes += 4 - rtcp_bytes_mod4; rtp_session->rtcp_send_msg.header.length = htons((u_short)(rtcp_bytes / 4 - 1)); } although Freeswitch developers will probably find a better solution.
Thanks in advance, James Bravo, Redmatter
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Ken http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org irc.freenode.net #freeswitch
participants (3)
-
James Bravo
-
Ken Rice
-
Puskás Zsolt