- appropriate log messages in check_params(...)
authorDaniel-Constantin Mierla <daniel@voice-system.ro>
Tue, 8 Jul 2003 16:38:51 +0000 (16:38 +0000)
committerDaniel-Constantin Mierla <daniel@voice-system.ro>
Tue, 8 Jul 2003 16:38:51 +0000 (16:38 +0000)
- wrapper to calculate_hooks, used by b2bua to send requests within a dialog

modules/tm/dlg.c
modules/tm/dlg.h
modules/tm/uac.c

index eb9ff3a..371b2c2 100644 (file)
@@ -27,6 +27,7 @@
  * History:
  * -------
  * 2003-03-29 Created by janakj
+ * 2003-07-08 added wrapper to calculate_hooks, needed by b2bua (dcm)
  */
 
 
@@ -153,6 +154,14 @@ static inline int calculate_hooks(dlg_t* _d)
        return 0;
 }
 
+/*
+ * wrapper to calculate_hooks
+ * added by dcm
+ */
+int w_calculate_hooks(dlg_t* _d)
+{
+       return calculate_hooks(_d);
+}
 
 /*
  * Create a new dialog
index 98c3453..fbee6ce 100644 (file)
@@ -159,5 +159,10 @@ int calculate_routeset_length(dlg_t* _d);
  */
 char* print_routeset(char* buf, dlg_t* _d);
 
+/*
+ * wrapper to calculate_hooks
+ * added by dcm
+ */
+int w_calculate_hooks(dlg_t* _d);
 
 #endif /* DLG_H */
index 216d437..a527a95 100644 (file)
@@ -42,6 +42,8 @@
  *  2003-03-01  kr set through a function now (jiri)
  *  2003-03-19  replaced all mallocs/frees w/ pkg_malloc/pkg_free (andrei)
  *  2003-04-02  port_no_str does not contain a leading ':' anymore (andrei)
+ *  2003-07-08  appropriate log messages in check_params(...), 
+ *               call calculate_hooks if next_hop==NULL in t_uac (dcm) 
  */
 
 #include <string.h>
@@ -121,12 +123,12 @@ static inline int check_params(str* method, str* to, str* from, dlg_t** dialog)
        }
 
        if (!to->s || !to->len) {
-               LOG(L_ERR, "check_params(): Invalid request method\n");
+               LOG(L_ERR, "check_params(): Invalid To URI\n");
                return -4;
        }
 
        if (!from->s || !from->len) {
-               LOG(L_ERR, "check_params(): Invalid request method\n");
+               LOG(L_ERR, "check_params(): Invalid From URI\n");
                return -5;
        }
        return 0;
@@ -147,6 +149,12 @@ int t_uac(str* method, str* headers, str* body, dlg_t* dialog, transaction_cb cb
        int ret;
 
        ret=-1;
+       
+       /*** added by dcm 
+        * - needed by external ua to send a request within a dlg
+        */
+       if(!dialog->hooks.next_hop && w_calculate_hooks(dialog)<0)
+               goto error2;
 
        send_sock = uri2sock(dialog->hooks.next_hop, &to_su, PROTO_NONE);
        if (!send_sock) {