diff --git a/ChangeLog b/ChangeLog index 3817835..3dd2a91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 0.8.2 ===== + 24-Feb-2016: - plugin_fix_fbox_anoncall: improved matching and rewriting + (="fixing") Contact header on anonymous calls. 30-Jan-2016: - added plugin_fix_fbox_anoncall: a plugin to work around some quirks from Fritzboxes when receiving anonymous calls (calls with supressed CLID). Might also work for other UAs. diff --git a/src/plugin_fix_fbox_anoncall.c b/src/plugin_fix_fbox_anoncall.c index 8e04f06..3e71a0e 100644 --- a/src/plugin_fix_fbox_anoncall.c +++ b/src/plugin_fix_fbox_anoncall.c @@ -158,9 +158,6 @@ int PLUGIN_PROCESS(int stage, sip_ticket_t *ticket){ /* loop through urlmap table */ for (idx=0; idxdirection = DIRTYP_UNKNOWN; + DEBUGC(DBCLASS_SIP, "sip_find_direction: beginning search"); + /* Search order is as follows: * - "from" IP address is one of our registered local UAs * => OUTGOING @@ -1063,6 +1065,9 @@ int sip_find_direction(sip_ticket_t *ticket, int *urlidx) { } } } + if (type == DIRTYP_UNKNOWN) { + DEBUGC(DBCLASS_SIP, "sip_find_direction: no OUTGOING found"); + } /* @@ -1105,6 +1110,9 @@ int sip_find_direction(sip_ticket_t *ticket, int *urlidx) { } /* is request */ } /* for i */ } /* if type == DIRTYP_UNKNOWN */ + if (type == DIRTYP_UNKNOWN) { + DEBUGC(DBCLASS_SIP, "sip_find_direction: no INCOMING (To:) found"); + } /* @@ -1124,6 +1132,9 @@ int sip_find_direction(sip_ticket_t *ticket, int *urlidx) { } } /* for i */ } /* if type == DIRTYP_UNKNOWN */ + if (type == DIRTYP_UNKNOWN) { + DEBUGC(DBCLASS_SIP, "sip_find_direction: no INCOMING RQ (SIP URI) found"); + } /* &&&& Open Issue &&&& @@ -1131,7 +1142,7 @@ int sip_find_direction(sip_ticket_t *ticket, int *urlidx) { * (e.g 1393xxx@proxy01.sipphone.com for calls made sipphone -> FWD) * How can we deal with this? Should I take into consideration the 'Via' * headers? This is the only clue I have, pointing to the *real* UA. - * Maybe I should put in a 'siproxd' ftag value to recognize it as a header + * Maybe I should put in a 'siproxd' flag value to recognize it as a header * inserted by myself */ if ((type == DIRTYP_UNKNOWN) && @@ -1194,6 +1205,9 @@ int sip_find_direction(sip_ticket_t *ticket, int *urlidx) { } } /* is response */ } /* if type == DIRTYP_UNKNOWN */ + if (type == DIRTYP_UNKNOWN) { + DEBUGC(DBCLASS_SIP, "sip_find_direction: no INCOMING RS (via header) found"); + } /* @@ -1219,7 +1233,10 @@ int sip_find_direction(sip_ticket_t *ticket, int *urlidx) { } } } /* if type == DIRTYP_UNKNOWN */ - + if (type == DIRTYP_UNKNOWN) { + DEBUGC(DBCLASS_SIP, "sip_find_direction: no INCOMING (redirected) found"); + } + if (type == DIRTYP_UNKNOWN) { DEBUGC(DBCLASS_SIP, "sip_find_direction: unable to determine "