diff --git a/core/sip/parse_uri.cpp b/core/sip/parse_uri.cpp index cc2e216f..549e22dd 100644 --- a/core/sip/parse_uri.cpp +++ b/core/sip/parse_uri.cpp @@ -54,6 +54,7 @@ static int parse_sip_uri(sip_uri* uri, const char* beg, int len) URI_USER=0, URI_PW, URI_HOST, + URI_HOST_V6, URI_PORT, URI_PNAME, URI_PVALUE, @@ -247,6 +248,21 @@ static int parse_sip_uri(sip_uri* uri, const char* beg, int len) break; } break; + + case '[': + switch(st){ + case URI_HOST: + st = URI_HOST_V6; + break; + } + break; + case ']': + switch(st){ + case URI_HOST_V6: + st = URI_HOST; + break; + } + break; } }