syntax = "proto3"; message RegistrationRequest{ string token = 1; string mac_address = 2; } message RegistrationResponse{ fixed32 virtual_ip = 1; fixed32 virtual_gateway = 2; fixed32 virtual_netmask = 3; uint32 epoch = 4; repeated fixed32 virtual_ip_list = 5; fixed32 public_ip = 6; uint32 public_port = 7; } message DeviceList{ uint32 epoch = 1; repeated fixed32 virtual_ip_list = 2; } message Punch{ fixed32 virtual_ip = 1; repeated fixed32 public_ip_list = 2; uint32 public_port = 3; uint32 public_port_range = 4; NatType nat_type = 5; bool reply = 6; Step step = 7; } enum NatType{ Symmetric = 0; Cone = 1; } enum Step{ Step1 = 0; Step2 = 1; Step3 = 2; Step4 = 3; }