[Freeswitch-users] ESL, phpmod
Samuel Macedo
macedoslm at gmail.com
Fri Jun 18 09:07:16 PDT 2010
Hi Helmut,
Thanks for the patch. I'll try it.
Regards,
--
Samuel Macedo
On 18 June 2010 12:42, Helmut Kuper <helmut.kuper at ewetel.de> wrote:
> Hello,
>
> I found a solution which seems to works for me so far. At least I can
> use esl-phpmod now.
>
> Problem is, that php's socket_accept() functions returns a resource
> instead of a file descriptor. So esl-phpmod has to find out the
> corresponding file descriptor before "new ESLconnection()" is called.
>
> Here my svn diff for the FS ESL developer to get it reviewed:
>
> Index: php/esl_wrap.cpp
> ===================================================================
> --- php/esl_wrap.cpp (Revision 17782)
> +++ php/esl_wrap.cpp (Arbeitskopie)
> @@ -1793,7 +1793,7 @@
>
>
> ZEND_NAMED_FUNCTION(_wrap_new_ESLconnection__SWIG_2) {
> - int arg1 ;
> + int arg1, type, *p;
> ESLconnection *result = 0 ;
> zval **args[1];
>
> @@ -1806,6 +1806,12 @@
> /*@SWIG:/usr/local/share/swig/1.3.35/php4/utils.i,7,CONVERT_INT_IN@*/
> convert_to_long_ex(args[0]);
> arg1 = (int) Z_LVAL_PP(args[0]);
> + //Find the needed numeric file descriptor
> + //First get the Resource object
> + p=(int*)zend_list_find(arg1, &type);
> + if (!p) goto fail;
> + //Second, get the file descriptor
> + arg1 = *p;
> /*@SWIG@*/;
>
> result = (ESLconnection *)new ESLconnection(arg1);
> @@ -1825,9 +1831,7 @@
> argc = ZEND_NUM_ARGS();
> zend_get_parameters_array_ex(argc,argv);
> if (argc == 1) {
> - int _v;
> - _v = (Z_TYPE_PP(argv[0]) == IS_LONG);
> - if (_v) {
> + if (Z_TYPE_PP(argv[0]) == IS_RESOURCE) {
> return
> _wrap_new_ESLconnection__SWIG_2(INTERNAL_FUNCTION_PARAM_PASSTHRU);
> }
> }
>
>
>
> regards
> Helmut
>
>
> On 17.06.2010 09:55, Helmut Kuper wrote:
> > Hi,
> >
> > a bit success now. When I use this command:
> >
> > $con = new ESLconnection(intval($csock));
> >
> > I got an ESLconnection object, but it is not usable. var_dump($con) shows
> >
> > object(ESLconnection)#1 (1) {
> > ["_cPtr"]=>
> > resource(7) of type (_p_ESLconnection)
> > }
> >
> >
> > which looks good to me, but strace still shows "Bad file descriptor":
> >
> > setsockopt(6, SOL_TCP, TCP_NODELAY, [1], 4) = -1 EBADF (Bad file
> descriptor)
> > sendto(6, "connect\n\n", 9, 0, NULL, 0) = -1 EBADF (Bad file descriptor)
> >
> > Calling $con->getINFO() results in NULL ...
> >
> >
> > regards
> > Helmut
> >
> > _______________________________________________
> > 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
> >
> >
>
> --
>
> Mit freundlichen Grüßen
> Helmut Kuper
> Geschäftseinheit FD - Lösungen für Finanzdienstleister
> Telefax: (0441) 8000-2799
> mailto:helmut.kuper at ewetel.de
> ___________________________________
> EWE TEL GmbH
> Cloppenburger Straße 310
> 26133 Oldenburg
> EWE TEL GmbH
>
> Handelsregister Amtsgericht Oldenburg HRB 3723
> Vorsitzender des Aufsichtsrates: Dr. Werner Brinker
> Geschäftsführung: Hans-Joachim Iken (Vorsitzender),
> Ulf Heggenberger, Dr. Norbert Schulz, Dirk Thole
> Homepage: http://www.ewetel.de
> ___________________________________
>
> _______________________________________________
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20100618/8cf3d392/attachment.html
More information about the FreeSWITCH-users
mailing list