[OpenSIPS-Users] Problem with mi_fifo replies

opensipslist at encambio.com opensipslist at encambio.com
Thu Dec 10 11:10:28 CET 2009


Hello Bogdan,

On thur., dec 10, 2009, Bogdan-Andrei Iancu wrote:
>Does opensipsctl through some error ? because I see opensips receives 
>the command (via command FIFO), but it is not able to reply back because 
>the reply fifo does not exists. The reply fifo is created by the 
>application that fires the request, the opensipsctl in this case. So, 
>either opensipsctl does not properly create the reply fifo, either it is 
>created with wrong permissions (like if you run opensipsctl as root, the 
>reply fifo will be created with root ownership and opensips, running as 
>osuser, may not have permissions to write into the reply fifo. 
>So, if there are no error, try to run opensipsctl as user osuser also.
>
>opensipslist at encambio.com wrote:
>> PROBLEM
>> -------
>>
>> When examining the location table using either opensipsctl(1) or
>> osipsconsoe(1) the commands hang:
>>
>>   $ opensipsctl ul show --brief
>>   [hang]
>>
>> In the log (debug=20) I see:
>>
>>   Dec 09 20:03:57 name.host.tld <error> opensips[6280]: ERROR:mi_fifo:mi_open_reply_pipe: open error (/pfx/var/opensips/opensips_receiver_6293): No such file or directory
>>   Dec 09 20:03:57 name.host.tld <error> opensips[6280]: ERROR:mi_fifo:mi_fifo_server: cannot open reply pipe /pfx/var/opensips/opensips_receiver_6293
>>
>> CONFIG opensipsctlrc
>> --------------------
>>
>>   CTLENGINE=FIFO
>>   OSIPS_FIFO=/pfx/var/opensips/opensips.fifo
>>   MI_CONNECTOR=FIFO:/pfx/var/opensips/opensips.fifo
>>
With your advice I found 1/2 the solution. The OSER_FIRET
variable was missing from opensipsctlrc, which seems to describe
where the reply FIFO should be opened. I had it set to OSIPS_FIRET,
figuring that OpenSER names were no longer being used.

...so using opensipsctl(1) now works (1/2 the problem.)

But even after placing OSER_FIRET in osipsconsolerc, the
osipsconsole(1) still hangs when calling 'ul show --brief':

  Dec 10 10:51:32 name.host.tld <error> opensips[17625]: ERROR:mi_fifo:mi_open_reply_pipe: open error (/pfx/var/opensips/fifo_reply): No such file or directory
  Dec 10 10:51:32 name.host.tld <error> opensips[17625]: ERROR:mi_fifo:mi_fifo_server: cannot open reply pipe /pfx/var/opensips/fifo_reply

Looking in the perl file 'osipsconsole' I see that 'fifo_reply' is
hardcoded to a variable simply called 'name', which is impossible to
debug because 'name' is used everywhere in the perl modules.

Do you happen to know how to set the 'fifo_reply' name and path in
the osipsconsolerc? Are these really hard coded?

Regards,
Brian



More information about the Users mailing list