Hi folks,<br><br>I&#39;ve just updated my trunk install and noticed some odd behaviour with connected line updates... Every single file played sends connected line updates...<br><br>e.g. for calls to voicemail, I set CONNECTEDLINE to VM (Eng) &lt;*89&gt;<br>
previous behaviour was that it sent the RPID as an update and the phone displayed VM (Eng) &lt;*89&gt; for the entire call<br>current behaviour is that the string is sent in the RPID as an update and then every single sound file played triggers a further update, first sent as an update and all subsequent ones as invites...<br>
i.e. (from sip history)<br>11. ConnectedLine   Called party is now vm-password &lt;vm-password&gt;<br>12. TxReqRel        UPDATE / 102 UPDATE - UPDATE<br>15. ConnectedLine   Called party is now vm-youhave &lt;vm-youhave&gt;<br>
16. TxReqRel        INVITE / 103 INVITE - INVITE<br>19. ConnectedLine   Calling party is now 1 &lt;1&gt;<br>20. TxReqRel        INVITE / 104 INVITE - INVITE<br>23. ConnectedLine   Calling party is now vm-Old &lt;vm-Old&gt;<br>
24. TxReqRel        INVITE / 105 INVITE - INVITE<br>27. ConnectedLine   Calling party is now vm-message &lt;vm-message&gt;<br>28. TxReqRel        INVITE / 106 INVITE - INVITE<br>31. ConnectedLine   Calling party is now vm-onefor &lt;vm-onefor&gt;<br>
32. TxReqRel        INVITE / 107 INVITE - INVITE<br>35. ConnectedLine   Calling party is now vm-Old &lt;vm-Old&gt;<br>36. TxReqRel        INVITE / 108 INVITE - INVITE<br>39. ConnectedLine   Calling party is now vm-messages &lt;vm-messages&gt;<br>
40. TxReqRel        INVITE / 109 INVITE - INVITE<br>43. ConnectedLine   Calling party is now vm-opts &lt;vm-opts&gt;<br>44. TxReqRel        INVITE / 110 INVITE - INVITE<br>47. ConnectedLine   Calling party is now vm-helpexit &lt;vm-helpexit&gt;<br>
48. TxReqRel        INVITE / 111 INVITE - INVITE<br><br>This doesn&#39;t seem to be intended behaviour...<br><br>The cause of these updates is a change to main/file.c that seems to have sneaked in from somewhere...<br><br>
# svn diff <a href="http://svn.digium.com/svn/asterisk/trunk/main/file.c@203802">http://svn.digium.com/svn/asterisk/trunk/main/file.c@203802</a> <a href="http://svn.digium.com/svn/asterisk/trunk/main/file.c@204413">http://svn.digium.com/svn/asterisk/trunk/main/file.c@204413</a><br>
Index: file.c<br>===================================================================<br>--- file.c      (revision 203802)<br>+++ file.c      (revision 204413)<br>@@ -320,6 +320,7 @@<br>                free(f-&gt;filename);<br>
        if (f-&gt;realfilename)<br>                free(f-&gt;realfilename);<br>+       ast_free(f-&gt;open_filename);<br>        if (f-&gt;fmt-&gt;close) {<br>                void (*closefn)(struct ast_filestream *) = f-&gt;fmt-&gt;close;<br>
                closefn(f);<br>@@ -472,6 +473,7 @@<br>                                s-&gt;fmt = f;<br>                                s-&gt;trans = NULL;<br>                                s-&gt;filename = NULL;<br>+                               s-&gt;open_filename = ast_strdup(fn);;<br>
                                if (s-&gt;fmt-&gt;format &amp; AST_FORMAT_AUDIO_MASK) {<br>                                        if (chan-&gt;stream)<br>                                                ast_closestream(chan-&gt;stream);<br>
@@ -826,7 +828,30 @@<br><br> int ast_applystream(struct ast_channel *chan, struct ast_filestream *s)<br> {<br>+       struct ast_party_connected_line connected;<br>+       char *fn;<br>+<br>+       ast_channel_lock(chan);<br>
+       ast_party_connected_line_set_init(&amp;connected, &amp;chan-&gt;connected);<br>+       if (ast_strlen_zero(chan-&gt;connected.id.number)) {<br>+               connected.id.number = ast_strdupa(chan-&gt;exten);<br>
+       }<br>+       ast_channel_unlock(chan);<br>+<br>+       fn = ast_strdupa(s-&gt;open_filename);<br>+       if ((fn = strrchr(fn, &#39;/&#39;))) {<br>+               char *dot;<br>+               *fn++ = &#39;\0&#39;;<br>
+               if ((dot = strrchr(fn, &#39;.&#39;))) {<br>+                       *dot = &#39;\0&#39;;<br>+               }<br>+       }<br>+       connected.id.number = <a href="http://connected.id.name">connected.id.name</a> = fn;<br>
+<br>+       ast_channel_update_connected_line(chan, &amp;connected);<br>+<br>        s-&gt;owner = chan;<br>+<br>        return 0;<br> }<br><br>This appears to have sneaked in with the addons merge...<br><br>------------------------------------------------------------------------<br>
r204413 | russell | 2009-07-01 00:40:38 +0800 (Wed, 01 Jul 2009) | 12 lines<br>...<br>M /trunk/main/file.c<br>...<br>Move Asterisk-addons modules into the main Asterisk source tree.<br><br>Someone asked yesterday, &quot;is there a good reason why we can&#39;t just put these<br>
modules in Asterisk?&quot;.  After a brief discussion, as long as the modules are<br>clearly set aside in their own directory and not enabled by default, it is<br>perfectly fine.<br><br>For more information about why a module goes in addons, see README-addons.txt.<br>
<br>chan_ooh323 does not currently compile as it is behind some trunk API updates.<br>However, it will not build by default, so it should be okay for now.<br><br>------------------------------------------------------------------------<br>
<br>Anyone know where this came from? Was it intended or was it perhaps a local debug version that was accidentally included in a checkin?<br><br>Raised in the bug tracker as issue 15657...<br><br>Thanks,<br><br>d<br>