sorry - i do have already reconfigured the audiocodes gateway which was sending this - and it is already in production...<div><br></div><div>But i think the whole thing is also visible without trace, it is more a basic implementation question.</div>
<div><br></div><div>The question is - is it really a good idea to overwrite the audio port - when there is also a image port in the sdp ?</div><div><br></div><div>Here is the function i mean:</div><div><br></div><div><br>
</div><div><br></div><div><div>switch_status_t sofia_glue_tech_proxy_remote_addr(private_object_t *tech_pvt, const char *sdp_str)</div><div>{</div><div> const char *err;</div><div> char rip[RA_PTR_LEN] = "";</div>
<div> char rp[RA_PTR_LEN] = "";</div><div> char rvp[RA_PTR_LEN] = "";</div><div> char *p, *ip_ptr = NULL, *port_ptr = NULL, *vid_port_ptr = NULL, *pe;</div><div> int x;</div>
<div> const char *val;</div><div> switch_status_t status = SWITCH_STATUS_FALSE;</div><div><br></div><div> if (zstr(sdp_str)) {</div><div> sdp_str = tech_pvt->remote_sdp_str;</div><div>
}</div><div><br></div><div> if (zstr(sdp_str)) {</div><div> goto end;</div><div> }</div><div><br></div><div> if ((p = (char *) switch_stristr("c=IN IP4 ", sdp_str)) || (p = (char *) switch_stristr("c=IN IP6 ", sdp_str))) {</div>
<div> ip_ptr = p + 9;</div><div> }</div><div><br></div><div> if ((p = (char *) switch_stristr("m=audio ", sdp_str))) {</div><div> port_ptr = p + 8;</div><div> }</div>
<div><br></div><div> if ((p = (char *) switch_stristr("m=image ", sdp_str))) {</div><div> port_ptr = p + 8;</div><div> }</div><div><br></div><div> if ((p = (char *) switch_stristr("m=video ", sdp_str))) {</div>
<div> vid_port_ptr = p + 8;</div><div> }</div><div><br></div><div><br></div><div>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.</div>
<div><br></div><div>So calls with sdp</div><div><br></div><div>m=audio 12123</div><div>and</div><div>m=image 0</div><div><br></div><div>will get dropped by freeswitch !</div><div><br></div><div>Thanks for you attention...</div>
<div><br></div><div>br,</div><div>Wolfgang</div><br><div class="gmail_quote">2013/3/22 Anthony Minessale <span dir="ltr"><<a href="mailto:anthony.minessale@gmail.com" target="_blank">anthony.minessale@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">post a trace with "sofia global siptrace on"<div>its too hard to diagnose without the exact trace.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On Thu, Mar 21, 2013 at 10:03 AM, Wolfgang Pichler <span dir="ltr"><<a href="mailto:wpichler@yosd.at" target="_blank">wpichler@yosd.at</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">Hi all,<div><br></div><div>i have encountered a strange behaviour - and i think i have found a possible problem within sofia_glue</div>
<div><br></div><div>Following scenario:</div><div><br></div><div>Carrier sends INVITE with T38 Offer -> Freeswitch does forward offer -> asterisk does forward offer -> ATA</div>
<div><br></div><div>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.</div>
<div><br></div><div>Freeswitch did hangup the call - because sofia_glue did extracted the port 0 as audio port - and this is not a legal port...</div><div><br></div><div>Sending port 0 is according to rfc legal - so freeswitch should ignore it in this case.</div>
<div><br></div><div>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.</div><div><br></div><div>So the workflow should be:</div><div>
- Try to extract audio port from m=audio part.</div><div> - If you got it - and it is a valid port then go on</div><div> - else try to extract audio port from m=image part...</div><div><br></div><div>The function in question is sofia_glue_tech_proxy_remote_addr - in sofia_glue.c</div>
<div><br></div><div>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 ?</div><div><br></div><div>Hope someone can help here...</div>
<div><br></div><div>br,</div><div>Wolfgang</div>
<br></div></div>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-dev mailing list<br>
<a href="mailto:FreeSWITCH-dev@lists.freeswitch.org" target="_blank">FreeSWITCH-dev@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/" target="_blank">http://www.cluecon.com/</a><br>
Twitter: <a href="http://twitter.com/FreeSWITCH_wire" target="_blank">http://twitter.com/FreeSWITCH_wire</a><br><br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com" target="_blank">MSN:anthony_minessale@hotmail.com</a><br>
GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com" target="_blank">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org" target="_blank">sip:888@conference.freeswitch.org</a><br>
<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org" target="_blank">googletalk:conf+888@conference.freeswitch.org</a><br>
pstn:<a href="tel:%2B19193869900" value="+19193869900" target="_blank">+19193869900</a>
</div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-dev mailing list<br>
<a href="mailto:FreeSWITCH-dev@lists.freeswitch.org">FreeSWITCH-dev@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-dev" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-dev</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br></div>