Hi,&nbsp; Scott<br>
<br>
The source code I found is in chan_iax.c, from the name of parameters, it looks like it is using<br>
AES. Can anyone here confirm that?<br>
<br>
static int encrypt_frame(aes_encrypt_ctx *ecx, struct ast_iax2_full_hdr *fh, unsigned char *poo, int *datalen)<br>
{<br>
&nbsp;&nbsp;&nbsp; int padding;<br>
&nbsp;&nbsp;&nbsp; unsigned char *workspace;<br>
&nbsp;&nbsp;&nbsp; workspace = alloca(*datalen + 32);<br>
&nbsp;&nbsp;&nbsp; if (!workspace)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return -1;<br>
&nbsp;&nbsp;&nbsp; if (ntohs(fh-&gt;scallno) &amp; IAX_FLAG_FULL) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; struct ast_iax2_full_enc_hdr *efh = (struct ast_iax2_full_enc_hdr *)fh;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (option_debug)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ast_log(LOG_DEBUG, &quot;Encoding full frame with length %d\n&quot;, *datalen);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; padding = 16 - ((*datalen - sizeof(struct ast_iax2_full_enc_hdr)) % 16);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; padding = 16 + (padding &amp; 0xf);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; memcpy(workspace, poo, padding);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; memcpy(workspace + padding,
efh-&gt;encdata, *datalen - sizeof(struct ast_iax2_full_enc_hdr));<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; *datalen += padding;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; workspace[15] &amp;= 0xf0;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; workspace[15] |= (padding &amp; 0xf);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; memcpy_encrypt(efh-&gt;encdata, workspace, *datalen, ecx);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (*datalen &gt;= 32 + sizeof(struct ast_iax2_full_enc_hdr))<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; memcpy(poo, workspace + *datalen - 32, 32);<br>
&nbsp;&nbsp;&nbsp; } else {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; struct ast_iax2_mini_enc_hdr *efh = (struct ast_iax2_mini_enc_hdr *)fh;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (option_debug)<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ast_log(LOG_DEBUG, &quot;Encoding mini frame with length %d\n&quot;, *datalen);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; padding = 16 - ((*datalen - sizeof(struct ast_iax2_mini_enc_hdr)) % 16);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; padding = 16 + (padding &amp; 0xf);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; memset(workspace, 0, padding);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; memcpy(workspace + padding,
efh-&gt;encdata, *datalen - sizeof(struct ast_iax2_mini_enc_hdr));<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; workspace[15] &amp;= 0xf0;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; workspace[15] |= (padding &amp; 0x0f);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; *datalen += padding;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; memcpy_encrypt(efh-&gt;encdata, workspace, *datalen, ecx);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (*datalen &gt;= 32 + sizeof(struct ast_iax2_mini_enc_hdr))<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; memcpy(poo, workspace + *datalen - 32, 32);<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp; return 0;<br>
}<br>
<br>
<br><br><div><span class="gmail_quote">On 9/28/05, <b class="gmail_sendername">tim panton</b> &lt;<a href="mailto:tpanton@attglobal.net">tpanton@attglobal.net</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><div><span class="q"><div>On 28 Sep 2005, at 07:26, Michael Jia wrote:</div><br><blockquote type="cite">Hi, Scott<br> <br> This is Michael Jia. So far, I searched the lists and with the following email threads<br> <a href="http://lists.digium.com/pipermail/asterisk-dev/2004-December/008295.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://lists.digium.com/pipermail/asterisk-dev/2004-December/008295.html</a><br> I don't know what is the current working status now. Maybe somone in the lists<br> knows. <br> <br></blockquote><div><br></div></span><div>Last I heard IAX2 in CVS Head has encryption that works between 2 asterisk
</div><div>systems. There is no documentation (yet) except the source code, and no</div><div>clients that support it (yet).</div><div><br></div><div>Tim.</div><div><br></div><br></div>
</blockquote></div><br>