]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Committed in behalf of 8190.
authorSteve Murphy <murf@digium.com>
Wed, 8 Nov 2006 22:54:56 +0000 (22:54 +0000)
committerSteve Murphy <murf@digium.com>
Wed, 8 Nov 2006 22:54:56 +0000 (22:54 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47344 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_skinny.c

index 5991012861dc63a92f6f8f802a7e6469a160be53..a5925d65bafd76ecc60bcd96c7f7d3ce4180cd7a 100644 (file)
@@ -420,7 +420,10 @@ struct displaytext_message {
        char text[40];
 };
 
+#define CLEAR_NOTIFY_MESSAGE  0x0115
+#define CLEAR_PROMPT_MESSAGE  0x0113
 #define CLEAR_DISPLAY_MESSAGE 0x009A
+
 #define CAPABILITIES_REQ_MESSAGE 0x009B
 
 #define REGISTER_REJ_MESSAGE 0x009D
@@ -4252,7 +4255,10 @@ static void *skinny_session(void *data)
                }
        }
        ast_log(LOG_NOTICE, "Skinny Session returned: %s\n", strerror(errno));
-       destroy_session(s);
+
+       if (s) 
+               destroy_session(s);
+       
        return 0;
 }
 
@@ -4359,17 +4365,19 @@ static int restart_monitor(void)
 static struct ast_channel *skinny_request(const char *type, int format, void *data, int *cause)
 {
        int oldformat;
+       
        struct skinny_line *l;
        struct ast_channel *tmpc = NULL;
        char tmp[256];
        char *dest = data;
 
        oldformat = format;
-       format &= default_capability;
-       if (!format) {
+       
+       if (!(format &= ((AST_FORMAT_MAX_AUDIO << 1) - 1))) {
                ast_log(LOG_NOTICE, "Asked to get a channel of unsupported format '%d'\n", format);
-               return NULL;
-       }
+               return NULL;    
+       }               
+
        ast_copy_string(tmp, dest, sizeof(tmp));
        if (ast_strlen_zero(tmp)) {
                ast_log(LOG_NOTICE, "Skinny channels require a device\n");