@ -1487,12 +1487,7 @@ static const char *media_block_match(struct call **call, struct call_monologue *
return " Unknown call-id " ;
return " Unknown call-id " ;
/ / directional block ?
/ / directional block ?
if ( bencode_dictionary_get_str ( input , " from-tag " , & s ) ) {
* monologue = call_get_mono_dialogue ( * call , & s , NULL , NULL ) ;
if ( ! * monologue )
return " From-tag given, but no such tag exists " ;
}
else if ( bencode_dictionary_get_str ( input , " address " , & s ) ) {
if ( bencode_dictionary_get_str ( input , " address " , & s ) ) {
sockaddr_t addr ;
sockaddr_t addr ;
if ( sockaddr_parse_any_str ( & addr , & s ) )
if ( sockaddr_parse_any_str ( & addr , & s ) )
return " Failed to parse network address " ;
return " Failed to parse network address " ;
@ -1515,6 +1510,11 @@ static const char *media_block_match(struct call **call, struct call_monologue *
found :
found :
;
;
}
}
else if ( bencode_dictionary_get_str ( input , " from-tag " , & s ) ) {
* monologue = call_get_mono_dialogue ( * call , & s , NULL , NULL ) ;
if ( ! * monologue )
return " From-tag given, but no such tag exists " ;
}
return NULL ;
return NULL ;
}
}