From: Simon Wunderlich Date: Fri, 28 Feb 2014 12:59:31 +0000 (+0100) Subject: mod_skinny: make 7925g work X-Git-Tag: v1.2.23~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3fe85c78703db4987a733a8b144d7afe3ecc983d;p=thirdparty%2Ffreeswitch.git mod_skinny: make 7925g work Cisco 7925G seem to work only with the correct conference_id2 and rtptimeout set, so add protocol 11 definition fields and set conference_id2 correctly. Signed-off-by: Simon Wunderlich Signed-off-by: Nathan Neulinger --- diff --git a/src/mod/endpoints/mod_skinny/skinny_protocol.c b/src/mod/endpoints/mod_skinny/skinny_protocol.c index 5498e5ebee..ee8c8b73e3 100644 --- a/src/mod/endpoints/mod_skinny/skinny_protocol.c +++ b/src/mod/endpoints/mod_skinny/skinny_protocol.c @@ -911,6 +911,7 @@ switch_status_t perform_send_open_receive_channel(listener_t *listener, message->data.open_receive_channel.echo_cancel_type = echo_cancel_type; message->data.open_receive_channel.g723_bitrate = g723_bitrate; message->data.open_receive_channel.conference_id2 = conference_id2; + message->data.open_receive_channel.rtptimeout = htonl(0x0a); /* message->data.open_receive_channel.reserved[0] = reserved[0]; message->data.open_receive_channel.reserved[1] = reserved[1]; diff --git a/src/mod/endpoints/mod_skinny/skinny_protocol.h b/src/mod/endpoints/mod_skinny/skinny_protocol.h index 5687744ec0..4ea82ec057 100644 --- a/src/mod/endpoints/mod_skinny/skinny_protocol.h +++ b/src/mod/endpoints/mod_skinny/skinny_protocol.h @@ -683,7 +683,9 @@ struct PACKED open_receive_channel_message { uint32_t echo_cancel_type; uint32_t g723_bitrate; uint32_t conference_id2; - uint32_t reserved[10]; + uint32_t reserved[14]; + uint32_t rtpdtmfpayload; + uint32_t rtptimeout; }; /* CloseReceiveChannelMessage */ diff --git a/src/mod/endpoints/mod_skinny/skinny_server.c b/src/mod/endpoints/mod_skinny/skinny_server.c index 4a69786abb..3aeb5e1379 100644 --- a/src/mod/endpoints/mod_skinny/skinny_server.c +++ b/src/mod/endpoints/mod_skinny/skinny_server.c @@ -802,7 +802,7 @@ switch_status_t skinny_session_start_media(switch_core_session_t *session, liste SKINNY_CODEC_ULAW_64K, /* uint32_t payload_capacity, */ 0, /* uint32_t echo_cancel_type, */ 0, /* uint32_t g723_bitrate, */ - 0, /* uint32_t conference_id2, */ + tech_pvt->call_id, /* uint32_t conference_id2, */ 0 /* uint32_t reserved[10] */ ); } @@ -868,7 +868,7 @@ switch_status_t skinny_session_unhold_line(switch_core_session_t *session, liste SKINNY_CODEC_ULAW_64K, /* uint32_t payload_capacity, */ 0, /* uint32_t echo_cancel_type, */ 0, /* uint32_t g723_bitrate, */ - 0, /* uint32_t conference_id2, */ + tech_pvt->call_id, /* uint32_t conference_id2, */ 0 /* uint32_t reserved[10] */ );