[asterisk-users] [Linux/Python 2.4.2] Forking Python doesn't work

Diego Aguirre dagmoller at yahoo.com.br
Wed Feb 13 06:59:38 CST 2008


Vincent,

try to use System() instead of AGI()

Diego Aguirre
Infodag - Informática
FWD#: 459696
Nikotel#: 99 21 8138-2710
EnumLookup#: +55 21 8138-2710
DUNDi-br#: 21 8138-2710

Vincent escreveu:
> Hello
> 
> 	When a call comes in, I'd like to fork a Python script that
> broadcasts a message so that users see the CID name + number pop up on
> their computer screen, and simultaneously ring their phones.
> 
> The following script doesn't work as planned: It waits until the
> script ends before moving on to the next step, which is Dial():
> 
> ===========
> exten => s,1,AGI(netcid.py|${CALLERID(num)}|${CALLERID(name)}) exten
> => s,n,Dial(${MYPHONE},5)   
> ===========
> # cat netcid.py
> #!/usr/bin/python
> 
> import socket,sys,time,os
> 
> def sendstuff(data):
>        s.sendto(data,(ipaddr,portnum))
>        return
> 
> sys.stdout = open(os.devnull, 'w')
> if os.fork():
>         #BAD? sys.exit(0)       
>         os._exit(0)
> else:
>         now = time.localtime(time.time())
>         dateandtime = time.strftime("NaVm/%y NaVM", now)
> 
>         myarray = []
>         myarray.append("STAT Rings: 1")
>         myarray.append("RING")
>         myarray.append("NAME " + cidname)
>         myarray.append("TTSN Call from " + cidname)
>         myarray.append("NMBR " + cidnum)
>         myarray.append("TYPE K")
> 
>         s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
>         s.setsockopt(socket.SOL_SOCKET,socket.SO_BROADCAST,True)
> 
>         portnum = 42685
>         ipaddr = "192.168.0.255"
> 
>         for i in myarray:
>                 sendstuff(i)
> 
>         #Must pause, and send IDLE for dialog box to close
>         time.sleep(5)
>         sendstuff("IDLE " + dateandtime)
> ===========
> 
> In another forum, people told me that I should fork twice. Is that
> really necessary?
> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/278731
> 
> Thank you.
> 
> 
> _______________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> 
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
> 



More information about the asterisk-users mailing list