*************** *** 9811,9818 **** } } - copy_socket_data(&peer->socket, &req->socket); - copy_socket_data(&pvt->socket, &peer->socket); /* Look for brackets */ curi = contact; --- 9834,9842 ---- } } + if (peer->socket.type == req->socket.type) + copy_socket_data(&peer->socket, &req->socket); + copy_socket_data(&pvt->socket, &req->socket); /* Look for brackets */ curi = contact; *************** *** 20073,20078 **** } } if (fullcontact->used > 0) { ast_copy_string(peer->fullcontact, fullcontact->str, sizeof(peer->fullcontact)); peer->rt_fromcontact = TRUE; --- 20128,20138 ---- } } + if (!peer->socket.type) { + peer->transports = SIP_TRANSPORT_UDP; + peer->socket.type = SIP_TRANSPORT_UDP; + } + if (fullcontact->used > 0) { ast_copy_string(peer->fullcontact, fullcontact->str, sizeof(peer->fullcontact)); peer->rt_fromcontact = TRUE;