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