Today's communication-based applications are mostly crafted in a stovepipe development paradigm, which is inflexible to be used by various domain-specific applications and costly in the development phase. In a previous paper [1], we proposed a new design called CVM (Communication Virtual Machine) to overcome these problems by having a high-level API which can be reused and extended easily for user-centric applications in any domain. Within CVM framework, we came across a practical issue, which is actually the case for any endto-end multimedia communication, namely the NAT-traversal (network address translation) problem that limits the reliability and availability of CVM and variants of CVM. In this paper, we explain about the necessity of self-configuration for the NAT-traversal problem in end-to-end communications, and propose a solution within the core CVM framework.