I see no issue putting a patch in to change this to allow both, I would however like to know for sure what the standards say about what we should accept in this case, if it does not specify either way, we should just patch it to do case insensitive compare most likely. If it specifies only one way or another, I might want a config option to specify behavior, but would have to think a bit more if accepting more liberally there could cause other issues, it probably would not. All that being said, could you please post a bug to
<a href="http://jira.freeswitch.org">jira.freeswitch.org</a> in regards to this with a patch and an rfc reference so we can get this merged into tree.<br><br>Thanks<br>Mike<br><br><div><span class="gmail_quote">On 9/9/07,
<b class="gmail_sendername">Jason Garland</b> <<a href="mailto:jgarland@gmail.com">jgarland@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div bgcolor="#FFFFFF"><div>It sounds like the Sofia code needs to be a little more forgiving as far as case here. Some vendors may use uppercase and others lower.<br><br>Sent from my iPhone</div><div><span class="e" id="q_114ec26a7f6858f8_1">
<div><br>On Sep 9, 2007, at 2:58 PM, "Keith Laaks" <<a href="mailto:keithl@voxtelecom.co.za" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">keithl@voxtelecom.co.za</a>> wrote:<br><br>
</div><div></div><blockquote type="cite"><div>
<p><span lang="en-us"><font face="Arial" size="2">Hi</font><font face="Arial" size="2"> All,</font></span>
</p>
<p><span lang="en-us"><font face="Arial" size="2">With Sofia talking to a gw using SIP INFO for DTMF transport, I was not able to get any DTMF based features (e.g. IVR) to work.</font></span></p>
<p><span lang="en-us"><font face="Arial" size="2">In the traces I saw the following when I pressed a key on the phone (in this example, key=4):</font></span>
</p>
<p><span lang="en-us"><font face="Arial" size="2">**************************************************************************************************************</font></span>
<br><span lang="en-us"><font face="System" size="2">I send 489 bytes to udp/[<a href="http://44.33.22.11" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">44.33.22.11</a>]:5060 at 16:43:54.656234:</font>
</span>
<br><span lang="en-us"><font face="System" size="2"> ------------------------------------------------------------------------</font></span>
<br><span lang="en-us"><font face="System" size="2"> SIP/2.0 200 OK</font></span>
<br><span lang="en-us"><font face="System" size="2"> Via: SIP/2.0/UDP <a href="http://44.33.22.11:5060" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">44.33.22.11:5060</a>;rport=5060;branch=z9hG4bK848e4e821f09dcf2847c25da87f5296b
</font></span>
<br><span lang="en-us"><font face="System" size="2"> From: <sip:<a href="mailto:27118091700@44.33.22.11" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">27118091700@44.33.22.11</a>:5060>;tag=GR52RWG346-34
</font></span>
<br><span lang="en-us"><font face="System" size="2"> To: "unknown" <sip:<a href="mailto:878050000@99.88.77.66" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">878050000@99.88.77.66</a>
>;tag=7pBSryH1mjBUg</font></span>
<br><span lang="en-us"><font face="System" size="2"> Call-ID: a666e4af-d996-122a-9e99-000a9d08b6ea</font></span>
<br><span lang="en-us"><font face="System" size="2"> CSeq: 4 INFO</font></span>
<br><span lang="en-us"><font face="System" size="2"> User-Agent: FreeSWITCH(mod_sofia)</font></span>
<br><span lang="en-us"><font face="System" size="2"> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, PRACK, MESSAGE, SUBSCRIBE, NOTIFY, REFER, UPDATE, REGISTER, INFO</font></span>
<br><span lang="en-us"><font face="System" size="2"> Supported: 100rel, precondition</font></span>
<br><span lang="en-us"><font face="System" size="2"> Content-Length: 0</font></span>
<br><span lang="en-us"><font face="System" size="2"> </font></span>
<br><span lang="en-us"><font face="System" size="2"> ------------------------------------------------------------------------</font></span>
<br><span lang="en-us"><font face="System" size="2">nta: sent 200 OK for INFO (4)</font></span>
<br><span lang="en-us"><font face="System" size="2">nua(0x815c130): event i_info 200 OK</font></span>
<br><span lang="en-us"><font face="System" size="2">nua: nua_event: entering</font></span>
<br><span lang="en-us"><font face="System" size="2">[33m2007-09-09 18:43:54 [DEBUG] sofia.c:1643 sofia_handle_sip_i_info() Unknown INFO Recieved: sip:<a href="mailto:27118091700@44.33.22.11" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
27118091700@44.33.22.11</a>:5060[signal=4</font></span></p>
<p><span lang="en-us"><font face="System" size="2">duration=100]</font> </span>
<br><span lang="en-us"><font face="Arial" size="2">**************************************************************************************************************</font></span>
</p>
<p><span lang="en-us"><font face="Arial" size="2">Looking through the code, I found in sofia.c:</font></span>
</p>
<p><span lang="en-us"><font face="Arial" size="2">**************************************************************************************************************</font></span>
</p>
<p><span lang="en-us"><font face="System" size="2">void sofia_handle_sip_i_info(nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, switch_core_session_t *session, sip_t const *sip, tagi_t tags[])</font></span></p>
<p><span lang="en-us"><font face="System" size="2">{</font></span>
</p>
<p><span lang="en-us"><font face="System" size="2">//placeholder for string searching</font></span>
<br><span lang="en-us"><font face="System" size="2">char *signal_ptr;</font></span>
</p>
<p><span lang="en-us"><font face="System" size="2">//Try and find signal information in the payload</font></span>
<br><span lang="en-us"><font face="System" size="2">signal_ptr = strstr(sip->sip_payload->pl_data, "Signal=");</font></span>
</p>
<p><span lang="en-us"><font face="System" size="2">//See if we found a match</font></span>
<br><span lang="en-us"><font face="System" size="2">if (signal_ptr) {</font></span>
<br><span lang="en-us"><font face="System" size="2">struct private_object *tech_pvt = NULL;</font></span>
<br><span lang="en-us"><font face="System" size="2">switch_channel_t *channel = NULL;</font></span>
<br><span lang="en-us"><font face="System" size="2">char dtmf_digit[2] = { 0, 0 };</font></span>
</p>
<p><span lang="en-us"><font face="System" size="2">//Get the channel</font></span>
<br><span lang="en-us"><font face="System" size="2">channel = switch_core_session_get_channel(session);</font></span>
<br><span lang="en-us"><font face="Arial" size="2">Etc.etc.</font></span>
<br><span lang="en-us"><font face="Arial" size="2">***************************************************************************************************************</font></span>
</p>
<p><span lang="en-us"><font face="Arial" size="2">Note that the line "</font><font face="System" size="2">signal_ptr = strstr(sip->sip_payload->pl_data, "Signal=");</font><font face="Arial" size="2">
" has the 'S' in 'Signal=' capitalized. </font></span>
<br><span lang="en-us"><font face="Arial" size="2">But from the above traces it appears sofia sends the INFO string through to freeswitch in lower case. </font></span>
</p>
<p><span lang="en-us"><font face="Arial" size="2">That's why freeswitch was not 'getting' the DTMF correctly.</font></span>
</p>
<p><span lang="en-us"><font face="Arial" size="2">After just changing this to lower case and recompiling - works perfectly!</font></span>
</p>
<p><span lang="en-us"><font face="Arial" size="2">Not sure, but maybe the code needs to be ammended to check for both variants?</font></span>
</p>
<p><span lang="en-us"><font face="Arial" size="2">Would be interesting to know if this issue impacted any other freeswitch users - could also be an issue with my voip connection talking to kit not compling with latest standards.
</font></span></p>
<p><span lang="en-us"><font face="Arial" size="2">Let me know if this was of any use. </font></span>
</p>
<br>
<p><span lang="en-us"><font face="Arial" size="2">Best Regads</font> </span>
<br><span lang="en-us"><font face="Arial" size="2"> </font></span>
<br><span lang="en-us"><font face="Arial" size="2">Keith</font></span>
</p>
</div></blockquote></span></div><blockquote type="cite"><div><span>_______________________________________________</span><br><span>Freeswitch-users mailing list</span><br><span><a href="mailto:Freeswitch-users@lists.freeswitch.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Freeswitch-users@lists.freeswitch.org</a></span><br><span><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
</a></span><br><span>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"></a><a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://lists.freeswitch.org/mailman/options/freeswitch-users</a></span><br><span><a href="http://www.freeswitch.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.freeswitch.org</a></span>
<br></div></blockquote></div><br>_______________________________________________<br>Freeswitch-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Freeswitch-users@lists.freeswitch.org">
Freeswitch-users@lists.freeswitch.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
</a><br>UNSUBSCRIBE:<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users
</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br><br></blockquote></div><br>