[Freeswitch-users] Spidermonkey ODBC (Anthony Minessale)

Steven Brown steven.brown at justfone.com
Wed Feb 27 02:13:18 PST 2008


Hi

I am happy to test against Firebird if that helps, due to the nature of
my work I cant always guaranteee timescales but I will be glad to help
when I can.

Steve

 

-----Original Message-----
From: freeswitch-users-bounces at lists.freeswitch.org
[mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of
freeswitch-users-request at lists.freeswitch.org
Sent: 26 February 2008 01:32
To: freeswitch-users at lists.freeswitch.org
Subject: Freeswitch-users Digest, Vol 20, Issue 31

Send Freeswitch-users mailing list submissions to
	freeswitch-users at lists.freeswitch.org

To subscribe or unsubscribe via the World Wide Web, visit
	http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
or, via email, send a message with subject or body 'help' to
	freeswitch-users-request at lists.freeswitch.org

You can reach the person managing the list at
	freeswitch-users-owner at lists.freeswitch.org

When replying, please edit your Subject line so it is more specific than
"Re: Contents of Freeswitch-users digest..."


Today's Topics:

   1. Re: sip client registration (Brian West)
   2. Re: Spidermonkey ODBC (Francisco Olarte Sanz)
   3. Re: Spidermonkey ODBC (Anthony Minessale)


----------------------------------------------------------------------

Message: 1
Date: Mon, 25 Feb 2008 13:04:28 -0500
From: Brian West <brian.west at mac.com>
Subject: Re: [Freeswitch-users] sip client registration
To: freeswitch-users at lists.freeswitch.org
Message-ID: <7138B742-2121-4C8A-BDF0-A42C9A8C2D25 at mac.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes

Where did you change the IP?  I think you need to fix the domain to
match the ip in vars.xml but can you tell me why you needed to change
the IP?

/b

On Feb 20, 2008, at 1:35 AM, M. Ehsanul Karim wrote:

> Hello,
>
> I am trying to register to freeswitch with the preset user/pass 
> 1000/1234. I was not able to register the client.But the sip server 
> was running in 5060 port successfully.I changed the ip in the config 
> file as well.
>
> Please let me know if I am missing something
>
> Ehsan
>
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-use
> rs
> http://www.freeswitch.org




------------------------------

Message: 2
Date: Mon, 25 Feb 2008 20:23:56 +0100
From: Francisco Olarte Sanz <folarte at peoplecall.com>
Subject: Re: [Freeswitch-users] Spidermonkey ODBC
To: freeswitch-users at lists.freeswitch.org
Message-ID: <200802252023.56902.folarte at peoplecall.com>
Content-Type: text/plain;  charset="utf-8"

On Wednesday 20 February 2008, ?ukasz Zwierko wrote:

( Just commenting on the connection testing, I agree in the general
approachs. )

> Still you feel that "select 1" is a better choice, but not all DB 
> support it, you could just make an assumption, that in each DB there 
> shall exist a table with just one column and row, and make a query to 
> it (can call it KeepAliveTable).

	You can always 'select 1 from $keepalivetable where 1=2', which
generates  a zero rows result. For keepalive, is easier, and works with
any table.

F.O.S.



------------------------------

Message: 3
Date: Mon, 25 Feb 2008 17:31:13 -0800 (PST)
From: Anthony Minessale <anthmct at yahoo.com>
Subject: Re: [Freeswitch-users] Spidermonkey ODBC
To: freeswitch-users at lists.freeswitch.org
Message-ID: <540994.1773.qm at web90601.mail.mud.yahoo.com>
Content-Type: text/plain; charset="iso-8859-2"

This is quite the thread. Maybe we can generate this enthusiasm for
other aspects of the project as well.

Does anyone want to volunteer to test the code by using the odbc in both
the sofia module as the reg db and from javascript in some random
application and simulate the db going down using odbc against several
popular db variants and finding the best code to make sure that nothing
goes wrong? I am more than happy to accept the result of such a vigorous
endeavor over just speculation about what's best.

I have to do most of the code you see here by myself so I have limited
time to devote to certain aspects so please let me know if anyone wants
to adopt some tasks and help make the project better.




Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/

AIM: anthm
MSN:anthony_minessale at hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
iax:guest at conference.freeswitch.org/888
googletalk:conf+888 at conference.freeswitch.org
pstn:213-799-1400


----- Original Message ----
From: ?ukasz Zwierko <lzwierko at gmail.com>
To: freeswitch-users at lists.freeswitch.org
Sent: Wednesday, February 20, 2008 8:51:51 AM
Subject: Re: [Freeswitch-users] Spidermonkey ODBC


Hi,

I think you guys have a wrong approach to this issue, as far as I'm
concerned, a well written application should have clear distinction
between connection layer and sql layer. What I mean is that if
application wants to do a query to DB, than handling issues like dropped
connection should not be mixed with inserts/selects. 

So, for example, there should exist a separate layer  which is
responsible for generating queries, and separate layer which actually
makes the query, handles errors and optionally, repeats the query or
insert (refer to java spring/hibernate - quite heavy java engines).

This way you could avoid any "select 1" or such like stuff every time
you want to do a transaction to DB.
Still you feel that "select 1" is a better choice, but not all DB
support it, you could just make an assumption, that in each DB there
shall exist a table with just one column and row, and make a query to it
(can call it KeepAliveTable).


Still, in my opinion the application should not test the connection each
time it wants to make a transaction as the overhead will be huge.

?ukasz


2008/2/20, Anthony Minessale <anthmct at yahoo.com>:
Many databases break silently or the connection drops without any way to
know for sure w/o trying to use it.

I choose to ensure in the core that the data is connected.

executing "select 1" is a small price to pay to make sure that the
database is connected considering the importance of persistent
connectivity in the sip, jingle and call limit databases as well as the
javascript that rely on it.


All of those applications to make the safe assumption that the core will
keep the db connected and to change that would be drastic behavior
change and destabilize the code on the eve of our release.
 

Therefore i guess we should focus on better heuristics
to detect firebird, preferably based on the driver name
and not by doing a 2nd sql stmt every
 time.


 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/

ClueCon http://www.cluecon.com/

AIM: anthm
MSN:anthony_minessale at hotmail.com

GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
IRC: irc.freenode.net #freeswitch


FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
iax:guest at conference.freeswitch.org/888

googletalk:conf+888 at conference.freeswitch.org
pstn:213-799-1400



----- Original Message ----
From: David Revill <davidrevill at datarun.co.uk>

To: freeswitch-users at lists.freeswitch.org
Sent: Tuesday, February 19, 2008 4:37:28
 PM
Subject: Re: [Freeswitch-users] Spidermonkey ODBC




 




Unfortunately, there isn't a universal ansi sql 
stmt that will do it as the only statements which can be guaranteed to
follow 
the ansi standard are the simple select, update and delete statements
which rely 
on knowing some table name .  

 


I think we are trying to solve a problem which need 
not exist. The Javascript application should handle the idle timeout. It

should close the connection if it will not be using it for a while, 
and,if it needs to, can do what db_is_up is attempting to do in the 
application code. Testing for connection before every query seems an 
unneccessary overhead. 

 


  ----- Original Message ----- 

  
From: 
  Anthony 
  Minessale 

  To: freeswitch-users at lists.freeswitch.org 
  

  Sent: Tuesday, February 19, 2008 6:38 
  PM

  Subject: Re: [Freeswitch-users] 
  Spidermonkey ODBC

  


  is 
  there some universal ansi sql stmt that is small and harmless
but is 
  supported by everything? to replace "select 1"



   

  Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/


AIM: 
  anthm
MSN:anthony_minessale at hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com

IRC: 
  irc.freenode.net #freeswitch

  
FreeSWITCH Developer 
  Conference
sip:888 at conference.freeswitch.org
iax:guest at conference.freeswitch.org/888

googletalk:conf+888 at conference.freeswitch.org
pstn:213-799-1400

  


  ----- 
  Original Message ----
From: David Revill 
  <davidrevill at datarun.co.uk>
To: 
  freeswitch-users at lists.freeswitch.org
Sent: Tuesday, February 19, 2008 
  6:56:31 AM
Subject: Re: [Freeswitch-users] Spidermonkey ODBC


  

  One way to detect firebird would be to put the 
  'Select first 1  * from RDB$relations' into
switch_odbc_handle_connect. 
  If it succeeds then it is Firebird. A better query might be 'select *
from 
  rdb$database' as the system table rdb$database only ever has 1 
  record.

  
    ----- 
    Original Message ----- 

    
From: 
    Jonas 
    Gauffin 

    To: 
    freeswitch-users at lists.freeswitch.org 
    

    Sent: 
    Tuesday, February 19, 2008 12:18 PM

    Subject: 
    Re: [Freeswitch-users] Spidermonkey ODBC

    

I''ve only tested it with firebird on windows. As you said, 
    your driver name doesnt match any of the names I used to detect if
it's 
    firebird.

The problem is that most databases supports "SELECT 1" as a 
    query. It will always be successful if the the connection is up.
However, 
    firebird did not support "SELECT 1" and therefore i did query the
system 
    database instead.

If the firebird check fails, it will try to invoke 
    "SELECT 1", and on firebird that query will fail. And the failure is

    interpreted as the connection is down, and therefore it tries to 
    reconnect.

That's probably why you get that error. If you have any 
    other idea on how I can detect if it's a firebird db, please let me
know and 
    i'll fix the odbc code.


    On Feb 19, 2008 1:05 PM, David Revill <davidrevill at datarun.co.uk> 
    wrote:

    
      
      That's a fair point, but db_is_up is only 
      called in 2 places and the attempted re-connect could be done if
the 
      exec'd query fails. That way it would not be dependant on the name
of the 
      driver.

       

      In my application, the database was queried 
      at the beginning of the script and the connection closed. It was 
      explicitly re-connected at the end to post data, so the connection
timeout 
      was not an issue.

      
        
        ----- 
        Original Message ----- 

        
From: 
        Jonas Gauffin 

        To: 
        freeswitch-users at lists.freeswitch.org 
        


        
        

        
        Sent: 
        Tuesday, February 19, 2008 10:35 AM

        Subject: 
        Re: [Freeswitch-users] Spidermonkey ODBC

        

I did that code a couple of months ago.
The function 
        was added since connections are closed if they are idle too
long, and 
        they were not reconnected again if that happened.



        On Feb 19, 2008 11:22 AM, David Revill
<davidrevill at datarun.co.uk> 
        wrote:

        
          
          The problem is in switch_odbc.c function 
          db_is_up. It assumes that the variable is_firebird is true,
but the 
          setting of this variable assumes that the Firebird driver name
has 
          'FIREBIRD', 'FB64' or 'FB32' in it.

           

          I commented out  the code in 
          db_is_up and just returned a true value, as on closer
inspection 
          could not see the point of this function.

           

          David Revill

          
            
            ----- 
            Original Message ----- 

            
From: 
            David Revill 

            To: 
            freeswitch-users at lists.freeswitch.org 
            


            
            

            
            Sent: 
            Tuesday, February 19, 2008 8:58 AM

            Subject: 
            Re: [Freeswitch-users] Spidermonkey ODBC

            


            I spotted this error a few months ago, 
            and to my shame did not let everyone know.  I have since 
            archived the project so cannot point you to the actual code.

            However, the problem is  that it assumes the name of the 
            Firebird Driver (FB64?)  to set a boolean, so that it handle

            the connection test differently.

             

            When looking at the actual code, I 
            actually felt that the connection test was redundant, as all
it did 
            was a select from a system table. This meant it was doing
two 
            queries for everyone required. (One to see if it could do a
query, 
            and then one to do it). I therefore commented the connection
test 
            function out.

             

            regards

             

            David Revill

            
              ----- 
              Original Message ----- 

              
From: 
              Steven Brown 

              To: 
              freeswitch-users at lists.freeswitch.org 
              

              Sent: 
              Monday, February 18, 2008 11:34 PM

              Subject: 
              [Freeswitch-users] Spidermonkey ODBC

              


              Hi,

               

              I'm experimenting with 
              spidermonkey for JavaScript call control, the basics seem 
              fine and I'm now trying to connect to an existing Firebird

              database, the Firebird odbc lib is installed ok as is
unixODBC and 
              I can confirm this and access the db no problem with isql,

              something strange happens though when I connect in
spidermonkey, 
              basically the odbc connection is made successfully, but
then as 
              soon as I call either exec or query the odbc connection
starts to 
              drop and re-connect continuously, 

               

              the isql output is below 


               

              isql -v 
              test
+---------------------------------------+
| 
              Connected!                            
              |
|                                       
              |
| 
              sql-statement                         
              |
| help 
              [tablename]                      
              |
| 
              quit                                  
              |
|                                       
              |
+---------------------------------------+
SQL> select 
              first 1 * from 
              pool_phones
+---------------------+------------+
| 
              GSMNO               
              | ORGNO      
              |
+---------------------+------------+
| 
              0712345678         | 
              1          
              |
+---------------------+------------+
SQLRowCount returns 
              1
1 rows fetched
SQL>


              however the following test code 
              calling the same query

               

              use("ODBC");

              var db = new 
              ODBC("test","SYSDBA","masterkey");
db.connect();
db.query("select 
              first 1 *  from pool_phones");

              db.nextRow();

              row = 
              db.getData();
console_log("INFO","HELLO " +  row["GSMNO"] 
               + "\n");

              exit();

               

              gives the following output and then 
              just loops disconnecting and reconnecting until I shutdown

              freeswitch


              2008-02-18 23:26:03 [DEBUG] 
              switch_core_state_machine.c:144
switch_core_standard_on_execute() 
              sofia/default/1000 at 192.168.0.7:5060 Execute 
              javascript(/usr/scripts/test1.js)
2008-02-18 23:26:03 [DEBUG] 
              mod_spidermonkey.c:3150 js_api_use() Loading ODBC
2008-02-18 
              23:26:03 [DEBUG] switch_odbc.c:145
switch_odbc_handle_connect() 
              Connecting test
2008-02-18 23:26:03 [DEBUG] switch_odbc.c:174 
              switch_odbc_handle_connect() Connected to [test]
2008-02-18 
              23:26:03 [DEBUG] switch_odbc.c:95
switch_odbc_handle_disconnect() 
              Disconnected 0 from [test]
2008-02-18 23:26:03 [DEBUG] 
              switch_odbc.c:142 switch_odbc_handle_connect()
Re-connecting 
              test
2008-02-18 23:26:03 [DEBUG] switch_odbc.c:145 
              switch_odbc_handle_connect() Connecting test
2008-02-18 
              23:26:03 [DEBUG] switch_odbc.c:174
switch_odbc_handle_connect() 
              Connected to [test]
2008-02-18 23:26:03 [CRIT] 
              switch_odbc.c:234 db_is_up() The sql server is not
responding for 
              DSN test []
2008-02-18 23:26:03 [INFO] switch_odbc.c:239 
              db_is_up() The connection has been re-established

              ...

              Any ideas much appreciated

              Thanks

              Steve

               

               

               

               

              



               

               

               

               

              

              
_______________________________________________
Freeswitch-users 
              mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org

            

            
_______________________________________________
Freeswitch-users 
            mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org




_______________________________________________

Freeswitch-users 
          mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org






        

        
        
_______________________________________________
Freeswitch-users 
        mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org



_______________________________________________

Freeswitch-users 
      mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org




    

    
_______________________________________________
Freeswitch-users 
    mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org

  

-----Inline Attachment 
  Follows-----

_______________________________________________
Freeswitch-users 
  mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org







  
  Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try

  it now.
  
  


  
_______________________________________________
Freeswitch-users 
  mailing 
  list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org


-----Inline Attachment Follows-----

_______________________________________________

Freeswitch-users 
mailing 
list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users

http://www.freeswitch.org









      Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.

_______________________________________________

Freeswitch-users mailing list

Freeswitch-users at lists.freeswitch.org

http://lists.freeswitch.org/mailman/listinfo/freeswitch-users

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users


http://www.freeswitch.org







-----Inline Attachment Follows-----

_______________________________________________
Freeswitch-users 
mailing 
list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org







 
________________________________________________________________________
____________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20080
225/85ed915b/attachment.html 

------------------------------

_______________________________________________
Freeswitch-users mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org


End of Freeswitch-users Digest, Vol 20, Issue 31
************************************************




More information about the FreeSWITCH-users mailing list