Summary: | ASTERISK-00623: [patch] Can't transfer calls from H.323 phone | ||
Reporter: | jmerlino (jmerlino) | Labels: | |
Date Opened: | 2003-12-05 08:06:46.000-0600 | Date Closed: | 2011-06-07 14:10:07 |
Priority: | Minor | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) h323.diff ( 1) h323.diff ( 2) h323.diff ( 3) h323.diff | |
Description: | When a call is transfered from a H.323 phone, Asterisk shows this message "unknown extension 'n' in context ' '". It seems Asterisk does not know which is the correct context to look for the transfered number (I assume it should be the default context) ****** ADDITIONAL INFORMATION ****** We changed the code in chan_h323.c so that it always looks for the transfer destination in the default context. It is not a clean patch and it is only sent to show where the problem lies (or so we think). | ||
Comments: | By: Brian West (bkw918) 2003-12-05 13:59:18.000-0600 Please attach a unified diff (diff -u) By: jmerlino (jmerlino) 2003-12-08 06:44:54.000-0600 Ok, here it is, the command I ran was: cvs diff -uBb asterisk/channels/chan_h323.c > h323.diff I added the Bb switches because we reindented the code. By: jerjer (jerjer) 2003-12-08 23:02:56.000-0600 This patch doesn't make that much sense. The transfer context should be the context defined in the H.323 type=user By: jmerlino (jmerlino) 2003-12-09 06:06:24.000-0600 Yes you're right, the transfer context should be the one defined in the type=user as you say. The problem is that doesn't work righ now, in the line I changed the i->context was always an empty string. As I said, this is not a clean patch, it works for me right now, but the right thing to do is to make it work the way you say. I haven't looked at the code deeply enough to know how to fix it but there must be some bug over there. By: jmerlino (jmerlino) 2003-12-26 08:05:56.000-0600 Here I am with yet another patch. This one looks for the context in the oh323_user structure before making the transfer. I added an else statement in oh323_request and moved up the function find_user to have it defined before oh323_new. I hope this solves the problem in a more correct way. By: Brian West (bkw918) 2004-01-28 00:17:03.000-0600 please provide an upto date diff for this if possible. By: jmerlino (jmerlino) 2004-01-28 09:18:18.000-0600 Here is the update you request. I changed the code again because it had some bugs. This version works right for me with my cvs version (about two or three weeks old), but I tried the transfers with asterisk 0.7.1 (with no patch) and the error was different so I don't know if the patch is still useful. By: jmerlino (jmerlino) 2004-02-02 12:36:21.000-0600 I looked again in the 0.7.1 code and the patch surely does not work (it does not even compile) righ now because the code has changed in the chan_h323.c file. I patched my running 0.7.1 in a similar fashion as my first patch... still brutal but at least I can transfer :) I'll update my CVS code and see if I can make a better patch... again. By: alric (alric) 2004-03-22 12:41:39.000-0600 Do you have any update on this, or did you attempt again? |