Hi, i will use the bug tracker next time - sorry. I have posted to the mailing list - because i was not sure if it really is a bug - or if it was intended behaviour... The changes in latest HEAD do solve the problem for me. br, Wolfgang 2013/3/22 Anthony Minessale <anthony.minessale@gmail.com>
The log would have helped explain that you are using proxy_media mode which is an important fact.
Please try latest HEAD. And from now on report issues like this to http://jira.freeswitch.org
Bugs should not be fixed via the mailing list.
On Fri, Mar 22, 2013 at 2:01 AM, Wolfgang Pichler <wpichler@yosd.at>wrote:
sorry - i do have already reconfigured the audiocodes gateway which was sending this - and it is already in production...
But i think the whole thing is also visible without trace, it is more a basic implementation question.
The question is - is it really a good idea to overwrite the audio port - when there is also a image port in the sdp ?
Here is the function i mean:
switch_status_t sofia_glue_tech_proxy_remote_addr(private_object_t *tech_pvt, const char *sdp_str) { const char *err; char rip[RA_PTR_LEN] = ""; char rp[RA_PTR_LEN] = ""; char rvp[RA_PTR_LEN] = ""; char *p, *ip_ptr = NULL, *port_ptr = NULL, *vid_port_ptr = NULL, *pe; int x; const char *val; switch_status_t status = SWITCH_STATUS_FALSE;
if (zstr(sdp_str)) { sdp_str = tech_pvt->remote_sdp_str; }
if (zstr(sdp_str)) { goto end; }
if ((p = (char *) switch_stristr("c=IN IP4 ", sdp_str)) || (p = (char *) switch_stristr("c=IN IP6 ", sdp_str))) { ip_ptr = p + 9; }
if ((p = (char *) switch_stristr("m=audio ", sdp_str))) { port_ptr = p + 8; }
if ((p = (char *) switch_stristr("m=image ", sdp_str))) { port_ptr = p + 8; }
if ((p = (char *) switch_stristr("m=video ", sdp_str))) { vid_port_ptr = p + 8; }
As you can see - it first checks for audio port - writes it to port_ptr, then checks for the image port - and if it does exists (also if it exists - but is zero - which is legal) - it does overwrite the audio port.
So calls with sdp
m=audio 12123 and m=image 0
will get dropped by freeswitch !
Thanks for you attention...
br, Wolfgang
2013/3/22 Anthony Minessale <anthony.minessale@gmail.com>
post a trace with "sofia global siptrace on" its too hard to diagnose without the exact trace.
On Thu, Mar 21, 2013 at 10:03 AM, Wolfgang Pichler <wpichler@yosd.at>wrote:
Hi all,
i have encountered a strange behaviour - and i think i have found a possible problem within sofia_glue
Following scenario:
Carrier sends INVITE with T38 Offer -> Freeswitch does forward offer -> asterisk does forward offer -> ATA
In this scenario it happend to me - that the T38 Offer (with corrent m=image and port in sdp) got forwarded by freeswitch to asterisk, asterisk did forwarded without the T38 Offer (don't know why) - so also without the m=image sdp part - the ATA did answered correctly (without m=image part) -> asterisk did created a new sdp with m=image 0, without T38 parts - and returned this to freeswitch.
Freeswitch did hangup the call - because sofia_glue did extracted the port 0 as audio port - and this is not a legal port...
Sending port 0 is according to rfc legal - so freeswitch should ignore it in this case.
the question is - if both values are given - which one is the value we need ? I think the audio port is the port which is of higher priority.
So the workflow should be: - Try to extract audio port from m=audio part. - If you got it - and it is a valid port then go on - else try to extract audio port from m=image part...
The function in question is sofia_glue_tech_proxy_remote_addr - in sofia_glue.c
Is it generaly a good idea to use the m=image part as audio port ? Why is there no direct image port member in the pvt structure as with the video port ?
Hope someone can help here...
br, Wolfgang
_________________________________________________________________________ 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-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
_________________________________________________________________________ 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-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
_________________________________________________________________________ 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-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
_________________________________________________________________________ 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-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org