Jason wrote:

> Hi
> 
> Just had discussion this morning with Scott and Ranga 
> regarding the fix for XX-4785 - sipXProxy not applying 
> caller-id correctly for wildcard
> (non-user-specific) caller-id setting. 
> 
> I had a fix which Scott and Ranga think based on 
> Wrong-designed data model of gateway-itsp which has been 
> there for a long time, we should not proceed with the fix but 
> to get the model corrected and then fix it based on the new model.
> 
> Here is what we found about CURRENT data model of 
> gateway-itsp which is thought to be wrong.
> 
> Currently for each gateway created in sipXconfig, an ITSP 
> account is required to be provisioned. 
> 
> The corresponding gateway record is stored in DB table 
> "gateway" and it associated ITSP account is stored in DB (in 
> table settings-value) , and the gateway record is associated 
> with the ITSP account info via some kind of magic ID 
> (storage-id) in the table (like a foreign key).
> 
> The problem is now if multiple gateways are created which 
> appears to refer to the same account (This is legitimate 
> scenario, why users want to do that, please see xx-4785) , 
> the same account info needs to be typed multiple times and 
> then duplicated and stored in the DB as they are irrelevant.
> 
> Same scenario happens to sipxbridge.xml (a duplication file 
> of all ITSP accounts), the same account is duplicated in 
> sipXbridge.xml multiple times, basically the component who 
> generates the sipXbridge.xml in sipXconfig loops through all 
> the gateways and put its associated ITSP account into 
> sipXbridge.xml and it does care if it's same or not. 
> 
> Below is an example of sipxbridge.xml (for simplicity, only 
> itsp account part is shown) , two gateways are created in sipXconfig.
> 
> The same ITSP account is generated into sipXbridge.xml twice.
> 
> <itsp-account>
>     <itsp-proxy-domain>scstrial.ca</itsp-proxy-domain>
>     <user-name>2260</user-name>
>     <password>xxxxxx</password>
>     <register-on-initialization>true</register-on-initialization>
>     <itsp-proxy-address>scstrial.ca</itsp-proxy-address>
>     <itsp-proxy-listening-port>0</itsp-proxy-listening-port>
>     <itsp-transport>UDP</itsp-transport>
>     <use-global-addressing>true</use-global-addressing>
>     <strip-private-headers>false</strip-private-headers>
>     <default-asserted-identity>true</default-asserted-identity>
>     <is-user-phone>true</is-user-phone>
>     <loose-route-invite>true</loose-route-invite>
>     <registration-interval>600</registration-interval>
>  
> <sip-session-timer-interval-seconds>1800</sip-session-timer-in
terval-sec
> onds>
>     <sip-keepalive-method>NONE</sip-keepalive-method>
>     <rtp-keepalive-method>NONE</rtp-keepalive-method>
>   </itsp-account>
> 
>   <itsp-account>
>     <itsp-proxy-domain>scstrial.ca</itsp-proxy-domain>
>     <user-name>2260</user-name>
>     <password>xxxxx</password>
>     <register-on-initialization>true</register-on-initialization>
>     <itsp-proxy-address>scstrial.ca</itsp-proxy-address>
>     <itsp-proxy-listening-port>0</itsp-proxy-listening-port>
>     <itsp-transport>UDP</itsp-transport>
>     <use-global-addressing>true</use-global-addressing>
>     <strip-private-headers>false</strip-private-headers>
>     <default-asserted-identity>true</default-asserted-identity>
>     <is-user-phone>true</is-user-phone>
>     <loose-route-invite>true</loose-route-invite>
>     <registration-interval>600</registration-interval>
>  
> <sip-session-timer-interval-seconds>1800</sip-session-timer-in
terval-sec
> onds>
>     <sip-keepalive-method>NONE</sip-keepalive-method>
>     <rtp-keepalive-method>NONE</rtp-keepalive-method>
>   </itsp-account>
> 
> 
> The problems with this model/the way it 's been done right now
> 
> 1) Information duplication (Same account stored many times)
> 2) also some gateway related info is dumped into sipxbridge.xml
> 3) Scott and Ranga can add more disadvantages here ...
> 
> The right model should be  
> 
> >From UI
> - Do not create ITSP account for each gateway, An ITSP 
> account object should be created independently. 
> - And a gateway can refer to  (from UI to choose) ITSP account 
> >From DB
> -  There should be explicitly data model (table) to describe 
> the ITSP account
> -  gateway record is associated with ITSP object via foreign 
> key or whatever it is.
> 
> >From SipXbridge,
> When sipXbridge.xml is generated, for each ITSP account, 
> there should be
> 
> - a field for each gateway who refer to this account 
> (corresponding gaway id is store there).
> 
> For example,
> 
> <itsp-account>
>     <itsp-proxy-domain>scstrial.ca</itsp-proxy-domain>
>     <user-name>2260</user-name>
>     <password>xxxxxx</password>
>     <gateway>a<gateway>
>     <gateway>b<gateway>    
>      ....
>     <gateway>n<gateway>    
>     <register-on-initialization>true</register-on-initialization>
>     <itsp-proxy-address>scstrial.ca</itsp-proxy-address>
>     <itsp-proxy-listening-port>0</itsp-proxy-listening-port>
>     <itsp-transport>UDP</itsp-transport>
>     <use-global-addressing>true</use-global-addressing>
>     <strip-private-headers>false</strip-private-headers>
>     <default-asserted-identity>true</default-asserted-identity>
>     <is-user-phone>true</is-user-phone>
>     <loose-route-invite>true</loose-route-invite>
>     <registration-interval>600</registration-interval>
>  
> <sip-session-timer-interval-seconds>1800</sip-session-timer-in
terval-sec
> onds>
>     <sip-keepalive-method>NONE</sip-keepalive-method>
>     <rtp-keepalive-method>NONE</rtp-keepalive-method>
>   </itsp-account>
> 
> 
> Comments?

Can you elaborate on how this solves the caller-id issue which is what
XX-4785 is about?
_______________________________________________
sipx-dev mailing list [email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
sipXecs IP PBX -- http://www.sipfoundry.org/

Reply via email to