mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-02 11:06:31 +00:00
chan_iax2: Minor improvements to documentation and warning messages.
* Update Dial() documentation for IAX2 to include syntax for RSA public key names. * Add additional details to a couple warnings to provide more context when an undecodable frame is received. Resolves: #1206
This commit is contained in:
@@ -234,7 +234,10 @@
|
|||||||
</info>
|
</info>
|
||||||
<info name="Dial_Resource" language="en_US" tech="IAX2">
|
<info name="Dial_Resource" language="en_US" tech="IAX2">
|
||||||
<para>The general syntax is:</para>
|
<para>The general syntax is:</para>
|
||||||
<para><literal>Dial(IAX2/[username[:password]@]peer[:port][/exten[@context]][/options]</literal></para>
|
<para><literal>Dial(IAX2/[username[:password[:pubkey]]@]peer[:port][/exten[@context]][/options]</literal></para>
|
||||||
|
<para>The IAX username is optionally followed by either the secret or name of the keypair to use for RSA
|
||||||
|
authentication (within square brakcets). If both need to be provided (such as for encrypted calls that
|
||||||
|
are RSA authenticated), both may be specified in either order.</para>
|
||||||
<para>IAX2 optionally allows modifiers to be specified after the extension.</para>
|
<para>IAX2 optionally allows modifiers to be specified after the extension.</para>
|
||||||
<enumlist>
|
<enumlist>
|
||||||
<enum name="a">
|
<enum name="a">
|
||||||
@@ -10381,7 +10384,9 @@ static int socket_process_helper(struct iax2_thread *thread)
|
|||||||
if (f.datalen) {
|
if (f.datalen) {
|
||||||
if (f.frametype == AST_FRAME_IAX) {
|
if (f.frametype == AST_FRAME_IAX) {
|
||||||
if (iax_parse_ies(&ies, thread->buf + sizeof(struct ast_iax2_full_hdr), f.datalen)) {
|
if (iax_parse_ies(&ies, thread->buf + sizeof(struct ast_iax2_full_hdr), f.datalen)) {
|
||||||
ast_log(LOG_WARNING, "Undecodable frame received from '%s'\n", ast_sockaddr_stringify(&addr));
|
char subclass[40];
|
||||||
|
iax_frame_subclass2str(f.subclass.integer, subclass, sizeof(subclass));
|
||||||
|
ast_log(LOG_WARNING, "Undecodable %s frame received from '%s'\n", subclass, ast_sockaddr_stringify(&addr));
|
||||||
ast_variables_destroy(ies.vars);
|
ast_variables_destroy(ies.vars);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@@ -812,7 +812,8 @@ int iax_parse_ies(struct iax_ies *ies, unsigned char *data, int datalen)
|
|||||||
ie = data[0];
|
ie = data[0];
|
||||||
len = data[1];
|
len = data[1];
|
||||||
if (len > datalen - 2) {
|
if (len > datalen - 2) {
|
||||||
errorf("Information element length exceeds message size\n");
|
snprintf(tmp, sizeof(tmp), "Information element length %d exceeds message size %d\n", len, datalen - 2);
|
||||||
|
errorf(tmp);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
switch(ie) {
|
switch(ie) {
|
||||||
|
Reference in New Issue
Block a user