Index: pjproject/trunk/pjsip-apps/src/python/pjsua.py
===================================================================
--- pjproject/trunk/pjsip-apps/src/python/pjsua.py	(revision 2976)
+++ pjproject/trunk/pjsip-apps/src/python/pjsua.py	(revision 4581)
@@ -475,8 +475,41 @@
                    the public address from STUN or from the selected
                    local interface. Format is "host:port".
+    qos_type    -- High level traffic classification.
+                   Enumerator:
+                     0: PJ_QOS_TYPE_BEST_EFFORT
+                          Best effort traffic (default value). Any QoS function calls with 
+                          specifying this value are effectively no-op
+                     1: PJ_QOS_TYPE_BACKGROUND
+                          Background traffic.
+                     2: PJ_QOS_TYPE_VIDEO
+                          Video traffic.
+                     3: PJ_QOS_TYPE_VOICE
+                          Voice traffic.
+                     4: PJ_QOS_TYPE_CONTROL
+                          Control traffic.
+    qos_params_flags    -- Determines which values to set, bitmask of pj_qos_flag.
+                             PJ_QOS_PARAM_HAS_DSCP = 1
+                             PJ_QOS_PARAM_HAS_SO_PRIO = 2
+                             PJ_QOS_PARAM_HAS_WMM = 4
+    qos_params_dscp_val -- The 6 bits DSCP value to set.
+    qos_params_so_prio  -- Socket SO_PRIORITY value.
+    qos_params_wmm_prio -- Standard WMM priorities.
+                            Enumerator:
+                              0: PJ_QOS_WMM_PRIO_BULK_EFFORT: Bulk effort priority
+                              1: PJ_QOS_WMM_PRIO_BULK: Bulk priority.
+                              2: PJ_QOS_WMM_PRIO_VIDEO: Video priority
+                              3: PJ_QOS_WMM_PRIO_VOICE: Voice priority.
     """
     port = 0
     bound_addr = ""
     public_addr = ""
+    
+    qos_type = 0
+    qos_params_flags = 0
+    qos_params_dscp_val = 0
+    qos_params_so_prio = 0
+    qos_params_wmm_prio = 0
+    
+    
 
     def __init__(self, port=0, 
@@ -486,4 +519,14 @@
         self.public_addr = public_addr
 
+    def _cvt_from_pjsua(self, cfg):
+        self.port = cfg.port
+        self.bound_addr = cfg.bound_addr
+        self.public_addr = cfg.public_addr
+        self.qos_type = cfg.qos_type
+        self.qos_params_flags = cfg.qos_params_flags
+        self.qos_params_dscp_val = cfg.qos_params_dscp_val
+        self.qos_params_so_prio = cfg.qos_params_so_prio
+        self.qos_params_wmm_prio = cfg.qos_params_wmm_prio
+
     def _cvt_to_pjsua(self):
         cfg = _pjsua.transport_config_default()
@@ -491,4 +534,10 @@
         cfg.bound_addr = self.bound_addr
         cfg.public_addr = self.public_addr
+        cfg.qos_type = self.qos_type
+        cfg.qos_params_flags = self.qos_params_flags
+        cfg.qos_params_dscp_val = self.qos_params_dscp_val
+        cfg.qos_params_so_prio = self.qos_params_so_prio
+        cfg.qos_params_wmm_prio = self.qos_params_wmm_prio
+
         return cfg
 
@@ -705,4 +754,6 @@
                                transport such as TLS is required, 2=end-to-
                                end secure transport is required (i.e. "sips").
+    rtp_transport_cfg       -- the rtp-transport-configuration that is usede, when
+                               a rtp-connection is being established.
     """
     priority = 0
@@ -724,4 +775,5 @@
     use_srtp = 0
     srtp_secure_signaling = 1
+    rtp_transport_cfg = None
 
     def __init__(self, domain="", username="", password="", 
@@ -749,7 +801,8 @@
             self.build_config(domain, username, password,
                               display, registrar, proxy)
+        self.rtp_transport_cfg = _pjsua.transport_config_default()
 
     def build_config(self, domain, username, password, display="",
-                     registrar="", proxy=""):
+                     registrar="", proxy="", rtp_transport_cfg = None):
         """
         Construct account config. If domain argument is specified, 
@@ -785,4 +838,9 @@
         if username != "":
             self.auth_cred.append(AuthCred("*", username, password))
+        
+        if (rtp_transport_cfg is not None):
+            self.rtp_transport_cfg = rtp_transport_cfg
+        else:
+            self.rtp_transport_cfg = _pjsua.Transport_Config()
     
     def _cvt_from_pjsua(self, cfg):
@@ -808,4 +866,6 @@
         self.use_srtp = cfg.use_srtp
         self.srtp_secure_signaling = cfg.srtp_secure_signaling
+        if (self.rtp_transport_cfg is not None):
+            self.rtp_transport_cfg._cvt_from_pjsua(cfg.rtp_transport_cfg)
 
     def _cvt_to_pjsua(self):
@@ -828,4 +888,5 @@
             c.data = cred.passwd
             cfg.cred_info.append(c)
+            
         cfg.auth_initial_send = self.auth_initial_send
         cfg.auth_initial_algorithm = self.auth_initial_algorithm
@@ -836,4 +897,7 @@
         cfg.use_srtp = self.use_srtp
         cfg.srtp_secure_signaling = self.srtp_secure_signaling
+
+        cfg.rtp_transport_cfg = self.rtp_transport_cfg._cvt_to_pjsua()
+        
         return cfg
  
