Added extension field to gateway. Create server object when a new connection is created
[ipypbx] / src / ipypbxweb / models.py
index fe6a5eb..f2c754b 100644 (file)
@@ -43,18 +43,21 @@ class SipProfile(models.Model):
 
 
 class Domain(models.Model):
+    connection = models.ForeignKey(Connection)
     sip_profile = models.ForeignKey(SipProfile)
     host_name = models.CharField(max_length=100)
     is_active = models.BooleanField()
 
 
 class Gateway(models.Model):
+    connection = models.ForeignKey(Connection)
     sip_profile = models.ForeignKey(SipProfile)
     name = models.CharField(max_length=100)
     username = models.CharField(max_length=100)
     password = models.CharField(max_length=100)
     realm = models.CharField(max_length=100)
     from_domain = models.CharField(max_length=100)
+    extension = models.CharField(max_length=100)
     expire_in_seconds = models.PositiveIntegerField()
     retry_in_seconds = models.PositiveIntegerField()
     caller_id_in_from_field = models.BooleanField()
@@ -62,16 +65,18 @@ class Gateway(models.Model):
 
 
 class Endpoint(models.Model):
+    connection = models.ForeignKey(Connection)
     user_id = models.CharField(max_length=100)
     password = models.CharField(max_length=100)
-    domain = models.CharField(max_length=100)
+    domain = models.ForeignKey(Domain)
     is_active = models.BooleanField()
 
 
 class Extension(models.Model):
+    connection = models.ForeignKey(Connection)
     destination_match = models.CharField(max_length=100)
     xml_dialplan = models.TextField()
-    domain = models.CharField(max_length=100)
-    endpoint = models.ForeignKey(Endpoint)
+    domain = models.ForeignKey(Domain, null=True, blank=True)
+    endpoint = models.ForeignKey(Endpoint, null=True, blank=True)
     authenticate_calls = models.BooleanField()
     is_active = models.BooleanField()