[OpenSER-Devel] config file question

Daniel-Constantin Mierla daniel at voice-system.ro
Thu Aug 23 10:07:03 CEST 2007


Hello,

you have to call the header parsing functions.

In m_store(), calling get_body() results in parsing all headers. If you 
want From header first, call parse_from_header() and then check the 
content of the structure in sip_msg.

Cheers,
Daniel

On 08/23/07 10:58, Ioan-Paul Pirau wrote:
> Hi Daniel and thanks for the promt response. I've looked over 
> m_store() in the msilo module, very nicely made validations, but in my 
> case the to and from are NULL in the sip_msg struct... so I can't even 
> check the ->parsed member.
>  
> BR,
> JP.
>
> */Daniel-Constantin Mierla <daniel at voice-system.ro>/* wrote:
>
>     Hello,
>
>     in your functions you have to be sure that the From header is
>     parsed and
>     the body as well. OpenSER does not parse the whole message, only
>     what is
>     needed for processing. A good function to look at is m_store() from
>     msilo module.
>
>     Cheers,
>     Daniel
>
>     On 08/23/07 10:29, Ioan-Paul Pirau wrote:
>     > Hello,
>     >
>     > My name is John Paul Pirau and I'm trying to use openser to
>     create a
>     > sip proxy server that gets and forwards incomming "MESSAGE"
>     > sip messages. And I encountered a problem while trying to
>     process an
>     > incoming message. My module exports 2 functions :
>     >
>     > int ValidateMessage(sip_msg* sip, char*, char*) and
>     > int HandleMessage(sip_msg* sip, char*, char*)
>     >
>     > the ideea is that I want to make a validation before I send back
>     the
>     > 200 OK response. And if the message does not have the required
>     > information then I want to send back the 400 Bad Request
>     response. So
>     > I figured out that a script in the openser config file should do
>     the
>     > trick. Here it is :
>     >
>     > route{
>     > ...
>     > if(ValidateMessage()){
>     > sl_send_reply("200", "OK") ;
>     > HandleMessage();
>     > }
>     > else {
>     > sl_send_reply("400","Bad Request");
>     > }
>     > ...
>     > }
>     >
>     > ..well it doesn't work because the ValidateMessage() gets an
>     invalid
>     > sip_msg structure as parameter. After some debug I figured out
>     that te
>     > from, to and message body is not present in the sip_msg
>     structure. On
>     > the contrary in the HandleMessage function I get a perfectly valid
>     > sip_msg struct
>     >
>     > Any ideea on what's going on ?
>     >
>     >
>     > ...
>     >
>     > And I also tryed a different aproach.. Here it is :
>     >
>     > route{
>     > ...
>     > sl_send_reply("182", "Queued") ;
>     > if(ValidateMessage()){
>     > sl_send_reply("200", "OK") ;
>     > HandleMessage();
>     > }
>     > else {
>     > sl_send_reply("400","Bad Request");
>     > }
>     > ...
>     > }
>     >
>     > The big difference is that with this .cfg I get a valid sip_msg
>     struct
>     > in ValidateMessage() but HandleMessage() never gets called ???. Any
>     > ideeas ?
>     >
>     >
>     > Best Regards,
>     > __________________
>     > Ioan-Paul Pirau.
>     > Software Engineer
>     > www.spectral.go.ro
>     > __________________
>     >
>     >
>     ------------------------------------------------------------------------
>     > Pinpoint customers
>     > who
>     > are looking for what you sell.
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Devel mailing list
>     > Devel at openser.org
>     > http://openser.org/cgi-bin/mailman/listinfo/devel
>     >
>
>
> ------------------------------------------------------------------------
> Be a better Heartthrob. Get better relationship answers 
> <http://us.rd.yahoo.com/evt=48255/*http://answers.yahoo.com/dir/_ylc=X3oDMTI5MGx2aThyBF9TAzIxMTU1MDAzNTIEX3MDMzk2NTQ1MTAzBHNlYwNCQUJwaWxsYXJfTklfMzYwBHNsawNQcm9kdWN0X3F1ZXN0aW9uX3BhZ2U-?link=list&sid=396545433>from 
> someone who knows.
> Yahoo! Answers - Check it out. 



More information about the Devel mailing list