* */
| 842 | * |
| 843 | */ |
| 844 | struct sip_uri *parse_to_uri(struct sip_msg *msg) |
| 845 | { |
| 846 | struct to_body *tb = NULL; |
| 847 | if(msg==NULL || msg->to==NULL || msg->to->parsed==NULL) |
| 848 | return NULL; |
| 849 | |
| 850 | tb = get_to(msg); |
| 851 | |
| 852 | if(tb->parsed_uri.user.s!=NULL || tb->parsed_uri.host.s!=NULL) |
| 853 | return &tb->parsed_uri; |
| 854 | |
| 855 | if (parse_uri(tb->uri.s, tb->uri.len , &tb->parsed_uri)<0) |
| 856 | { |
| 857 | LM_ERR("failed to parse To uri\n"); |
| 858 | memset(&tb->parsed_uri, 0, sizeof(struct sip_uri)); |
| 859 | set_err_info(OSER_EC_PARSER, OSER_EL_MEDIUM, "error parsing To uri"); |
| 860 | set_err_reply(400, "bad To uri"); |
| 861 | return NULL; |
| 862 | } |
| 863 | |
| 864 | return &tb->parsed_uri; |
| 865 | } |
| 866 | |
| 867 | int parse_to_header( struct sip_msg *msg) |
| 868 | { |
no test coverage detected