1. Refactory code of network profile by Async package
2. Pipeline network profile detection in async callback instead of ugly hard cod
e
3. Implement hole punch detection as async callback