Re: [Users] mms-to-local-copy-handler not working?

2006-05-15 Thread Paul Bagyenda
You're right! CVS updated. Mea Culpa.

P.

On May 14, 2006, at 17:28, Deon van der Merwe wrote:

 Hi,

 I have a VASP configured to also receive a copy of all the MMS's
 delivered to mobiles.  But this is not working.  From the code it
 looks like this is only done if the recipient is a IP address.  Am I
 misunderstanding this feature?  My current understanding is that this
 feature will send a copy of mobile terminated message to a VASP.

 My config:
 group = mms-vasp
 vasp-id = localcopy
 type = soap
 short-code = 113
 vasp-username = localcopy
 vasp-password = localcopy
 vasp-url = http://10.201.47.17:50013/
 mmsc-username = localcopy
 mmsc-password = localcopy
 mms-to-local-copy-handler = true


 The code in question:
 mmsc/mmsglobalsender.c
/* If it is an IP, send to mobile handler, else if
 number, look for recipient. */
if (j  0  j - 1 +  sizeof /TYPE=PLMN == len)
 phonenum = octstr_copy(to-rcpt, 0, j);
else if (k  0  k + sizeof /TYPE=IPv == len) {
 if (settings-mms2mobile) { /* Send a copy to  
 this VASP. */
  Octstr *xerr = NULL;
  int res = mms_sendtovasp(settings- 
 mms2mobile,
   e-from, to-rcpt,
   e-msgId,
   msg, err);
  info(0, %s Global Queue MMS Send: Local Msg
 copy to VASP (%s) - 
   From %s, to %s, msgsize=%ld: err=%s,
   SEND_ERROR_STR(res),
   octstr_get_cstr(settings-mms2mobile- 
 id),
   octstr_get_cstr(e-from),
 octstr_get_cstr(to-rcpt), e-msize,
   xerr ? octstr_get_cstr(xerr) :  
 (null));
  if (xerr)
   octstr_destroy(xerr);
 }
 res = mms_sendtomobile(e-from,
to-rcpt, e-subject, e- 
 fromproxy,
e-msgId, e-expiryt, msg,
 e-dlr, err);
 sent = 1;
 goto done;

 ___
 Users mailing list
 Users@mbuni.org
 http://mbuni.org/mailman/listinfo/users_mbuni.org


___
Users mailing list
Users@mbuni.org
http://mbuni.org/mailman/listinfo/users_mbuni.org


[Users] x-wap-profile missing/required

2006-05-15 Thread Deon van der Merwe
Hi,

We are tracing a problem with a Motorola V3i submitting a message to
mbuni.  Thing is that the phone does not include the x-wap-profile
HTTP header.  So: the phone must be broken!!!  Reading the specs [ETSI
TS 126 234 V6.6.0 (2005-12)], it turns out (to my surprise) that the
x-wap-profile is not a required header.
quote
5.2.5 Signalling of profile information between client and server
When a PSS client or server support capability exchange it shall
support the profile information transport over both HTTP and RTSP
between client and server as defined in clause 9.1 (including its
subsections) of the WAP 2.0 UAProfspecification [40] with the
following additions:
- The x-wap-profile and x-wap-profile-diff headers may not be
present in all HTTP or RTSP request. That is, the requirement to send
this header in all requests has been relaxed.
/quote

Here is how mbuni fails:
2006-05-15 17:54:14 [23380] [0] PANIC: gwlib/octstr.c:2340:
seems_valid_real: Assertion `ostr-len + 1 = ostr-size' failed.
(Called from gwl
ib/octstr.c:1310:octstr_strip_nonalphanums.)
2006-05-15 17:54:14 [23380] [0] PANIC:
/usr/local/bin/mmsproxy(gw_panic+0x175) [0x8085dba]
2006-05-15 17:54:14 [23380] [0] PANIC: /usr/local/bin/mmsproxy [0x808d341]
2006-05-15 17:54:14 [23380] [0] PANIC:
/usr/local/bin/mmsproxy(octstr_strip_nonalphanums+0x2c) [0x808aa11]
2006-05-15 17:54:14 [23380] [0] PANIC:
/usr/local/bin/mmsproxy(main+0x24c) [0x8052afc]
2006-05-15 17:54:14 [23380] [0] PANIC:
/lib/libc.so.6(__libc_start_main+0xab) [0x4035144b]
2006-05-15 17:54:14 [23380] [0] PANIC: /usr/local/bin/mmsproxy [0x80527b1]


This is where it goes wrong:
   h.vasp = NULL;
   h.profile_url = NULL;
   h.ua = http_header_value(h.headers, octstr_imm(User-Agent));
   /* Get the profile URL and store it. Has effect of
fetching if missing. */
   if ((h.profile_url = http_header_value(h.headers,

octstr_imm(X-Wap-Profile))) == NULL)
h.profile_url = http_header_value(h.headers,
octstr_imm(Profile));
   octstr_strip_nonalphanums(h.profile_url);

So, is there any way in which we can include a default profile into
the configuration?
Or, maybe someone else has a better option/solution?

___
Users mailing list
Users@mbuni.org
http://mbuni.org/mailman/listinfo/users_mbuni.org


Re: [Users] x-wap-profile missing/required

2006-05-15 Thread Paul Bagyenda
Yes there is a way and in fact it is in there IMO, however obviously  
along the way a bug crept in. If the wap-profile URL is missing,  
Mbuni uses the HTTP Accept headers to try and find a reasonable  
compromise. I will do a fix and update.

P.

On May 15, 2006, at 19:34, Deon van der Merwe wrote:

 Hi,

 We are tracing a problem with a Motorola V3i submitting a message to
 mbuni.  Thing is that the phone does not include the x-wap-profile
 HTTP header.  So: the phone must be broken!!!  Reading the specs [ETSI
 TS 126 234 V6.6.0 (2005-12)], it turns out (to my surprise) that the
 x-wap-profile is not a required header.
 quote
 5.2.5 Signalling of profile information between client and server
 When a PSS client or server support capability exchange it shall
 support the profile information transport over both HTTP and RTSP
 between client and server as defined in clause 9.1 (including its
 subsections) of the WAP 2.0 UAProfspecification [40] with the
 following additions:
 - The x-wap-profile and x-wap-profile-diff headers may not be
 present in all HTTP or RTSP request. That is, the requirement to send
 this header in all requests has been relaxed.
 /quote

 Here is how mbuni fails:
 2006-05-15 17:54:14 [23380] [0] PANIC: gwlib/octstr.c:2340:
 seems_valid_real: Assertion `ostr-len + 1 = ostr-size' failed.
 (Called from gwl
 ib/octstr.c:1310:octstr_strip_nonalphanums.)
 2006-05-15 17:54:14 [23380] [0] PANIC:
 /usr/local/bin/mmsproxy(gw_panic+0x175) [0x8085dba]
 2006-05-15 17:54:14 [23380] [0] PANIC: /usr/local/bin/mmsproxy  
 [0x808d341]
 2006-05-15 17:54:14 [23380] [0] PANIC:
 /usr/local/bin/mmsproxy(octstr_strip_nonalphanums+0x2c) [0x808aa11]
 2006-05-15 17:54:14 [23380] [0] PANIC:
 /usr/local/bin/mmsproxy(main+0x24c) [0x8052afc]
 2006-05-15 17:54:14 [23380] [0] PANIC:
 /lib/libc.so.6(__libc_start_main+0xab) [0x4035144b]
 2006-05-15 17:54:14 [23380] [0] PANIC: /usr/local/bin/mmsproxy  
 [0x80527b1]


 This is where it goes wrong:
h.vasp = NULL;
h.profile_url = NULL;
h.ua = http_header_value(h.headers, octstr_imm(User- 
 Agent));
/* Get the profile URL and store it. Has effect of
 fetching if missing. */
if ((h.profile_url = http_header_value(h.headers,

 octstr_imm(X-Wap-Profile))) == NULL)
 h.profile_url = http_header_value(h.headers,
 octstr_imm(Profile));
octstr_strip_nonalphanums(h.profile_url);

 So, is there any way in which we can include a default profile into
 the configuration?
 Or, maybe someone else has a better option/solution?

 ___
 Users mailing list
 Users@mbuni.org
 http://mbuni.org/mailman/listinfo/users_mbuni.org


___
Users mailing list
Users@mbuni.org
http://mbuni.org/mailman/listinfo/users_mbuni.org


Re: [Users] x-wap-profile missing/required

2006-05-15 Thread Paul Bagyenda
fixed hopefully in CVS. Please let me know.
On May 15, 2006, at 19:34, Deon van der Merwe wrote:

 Hi,

 We are tracing a problem with a Motorola V3i submitting a message to
 mbuni.  Thing is that the phone does not include the x-wap-profile
 HTTP header.  So: the phone must be broken!!!  Reading the specs [ETSI
 TS 126 234 V6.6.0 (2005-12)], it turns out (to my surprise) that the
 x-wap-profile is not a required header.
 quote
 5.2.5 Signalling of profile information between client and server
 When a PSS client or server support capability exchange it shall
 support the profile information transport over both HTTP and RTSP
 between client and server as defined in clause 9.1 (including its
 subsections) of the WAP 2.0 UAProfspecification [40] with the
 following additions:
 - The x-wap-profile and x-wap-profile-diff headers may not be
 present in all HTTP or RTSP request. That is, the requirement to send
 this header in all requests has been relaxed.
 /quote

 Here is how mbuni fails:
 2006-05-15 17:54:14 [23380] [0] PANIC: gwlib/octstr.c:2340:
 seems_valid_real: Assertion `ostr-len + 1 = ostr-size' failed.
 (Called from gwl
 ib/octstr.c:1310:octstr_strip_nonalphanums.)
 2006-05-15 17:54:14 [23380] [0] PANIC:
 /usr/local/bin/mmsproxy(gw_panic+0x175) [0x8085dba]
 2006-05-15 17:54:14 [23380] [0] PANIC: /usr/local/bin/mmsproxy  
 [0x808d341]
 2006-05-15 17:54:14 [23380] [0] PANIC:
 /usr/local/bin/mmsproxy(octstr_strip_nonalphanums+0x2c) [0x808aa11]
 2006-05-15 17:54:14 [23380] [0] PANIC:
 /usr/local/bin/mmsproxy(main+0x24c) [0x8052afc]
 2006-05-15 17:54:14 [23380] [0] PANIC:
 /lib/libc.so.6(__libc_start_main+0xab) [0x4035144b]
 2006-05-15 17:54:14 [23380] [0] PANIC: /usr/local/bin/mmsproxy  
 [0x80527b1]


 This is where it goes wrong:
h.vasp = NULL;
h.profile_url = NULL;
h.ua = http_header_value(h.headers, octstr_imm(User- 
 Agent));
/* Get the profile URL and store it. Has effect of
 fetching if missing. */
if ((h.profile_url = http_header_value(h.headers,

 octstr_imm(X-Wap-Profile))) == NULL)
 h.profile_url = http_header_value(h.headers,
 octstr_imm(Profile));
octstr_strip_nonalphanums(h.profile_url);

 So, is there any way in which we can include a default profile into
 the configuration?
 Or, maybe someone else has a better option/solution?

 ___
 Users mailing list
 Users@mbuni.org
 http://mbuni.org/mailman/listinfo/users_mbuni.org


___
Users mailing list
Users@mbuni.org
http://mbuni.org/mailman/listinfo/users_mbuni.org


Re: [Users] x-wap-profile missing/required

2006-05-15 Thread Deon van der Merwe
Hi Paul,

On 5/15/06, Paul Bagyenda [EMAIL PROTECTED] wrote:
 fixed hopefully in CVS. Please let me know.

yup- it is working.  Thanks allot Paul.

___
Users mailing list
Users@mbuni.org
http://mbuni.org/mailman/listinfo/users_mbuni.org


[Users] Better documentation with examples requ.

2006-05-15 Thread kartikay malhotra
Dear All (Esp. Documentation writers of Mbuni),Is there a better written documentation for Mbuni? Kannel documentation wasn't the best, but at least there were examples. Mbuni user guide is a big document, but severely lacks in any examples. 
A person new to gateways, and protocols, can easily get lost. Dear Sirs, you have done a great job providing an open-source gateway/MMSC. But look at W3schools tutorials. They are so well written, one can pick up all major technologies in a fortnight. 
Someone, please help,KM
___
Users mailing list
Users@mbuni.org
http://mbuni.org/mailman/listinfo/users_mbuni.org


Re: [Users] Better documentation with examples requ.

2006-05-15 Thread Paul Bagyenda
It is a point well-taken, however... there are always competing  
demands on those of us the lead developers. As such, we can't do a  
great job at everything. Only natural.
  If you want to take a stab at improving the documentation, your  
efforts would be most welcome, and I would be glad to fill in the  
gaps to enable you or any other do so.

P.

On May 16, 2006, at 06:59, kartikay malhotra wrote:

 Dear All (Esp. Documentation writers of Mbuni),

 Is there a better written documentation for Mbuni? Kannel  
 documentation wasn't the best, but at least there were examples.  
 Mbuni user guide is a big document, but severely lacks in any  
 examples.

 A person new to gateways, and protocols, can easily get lost.

 Dear Sirs, you have done a great job providing an open-source  
 gateway/MMSC. But look at W3schools tutorials. They are so well  
 written, one can pick up all major technologies in a fortnight.

 Someone, please help,

 KM
 ___
 Users mailing list
 Users@mbuni.org
 http://mbuni.org/mailman/listinfo/users_mbuni.org


___
Users mailing list
Users@mbuni.org
http://mbuni.org/mailman/listinfo/users_mbuni.org


Re: [Users] mbuni.conf + fake mms ? MMS file

2006-05-15 Thread Deon van der Merwe
Hi,

On 5/16/06, kartikay malhotra [EMAIL PROTECTED] wrote:
 Hi!

 I intend to use Mbuni as a gateway connected to an operator MMC. Once I
 receive MMS at my gateway, I would want to send it to a HTTP Server
 (preferably intact). There I would want to dump it in a database.

  I can handle the server and DB part. Wat I do not know:

 1. Format of incoming MMS; I mean protocol. (HTTP over TCP/IP)?
 2. How to handle that MMS?

I think that here I can help a little...  the message sent to you by
mbuni MMSC is formatter as MM7/HTTP/TCPIP.  To receive these messages,
I use the openwave SDK.  My receiver class looks somethinh like this:

  class MessageReceiver
   extends com.openwave.mms.mm7.MessageListenerAdapter {

protected com.openwave.mms.mm7.RelayConnection mReceiveConnection = null;

public MessageReceiver() {
  try {
mReceiveConnection =
com.openwave.mms.mm7.RelayConnection.createReceiver(mReceivePort,
false);
mReceiveConnection.setMessageListener(this);
  } catch (java.lang.Exception vException) {
mLogger.error(vException.getMessage(), vException);
  }
}

public com.openwave.mms.mm7.Response processDeliverRequest(
com.openwave.mms.mm7.DeliverRequest deliverRequest) {
  try {
mLogger.debug(TransactionID:  + deliverRequest.getTransactionID());
mLogger.debug(Sender:  + deliverRequest.getSender());
java.util.Vector vRecipients = deliverRequest.getRecipients();
for (int i = 0; i  vRecipients.size(); ++i) {
  mLogger.debug(recipient:  +
((com.openwave.mms.mm7.Recipient) vRecipients.get(i)).getAddress());
}
mLogger.debug(Subject:  + deliverRequest.getSubject());
javax.mail.internet.MimeBodyPart part = deliverRequest.getRawContent();
mLogger.debug(ContentType:  + part.getContentType());
mLogger.debug(Filename:  + part.getFileName());

java.lang.StringBuffer vContentBuffer = new java.lang.StringBuffer();
try {
  java.io.InputStream vContentInput = part.getInputStream();
  while (true) {
int vByte = vContentInput.read();
if (vByte == -1) {
  break;
} else {
  vContentBuffer.append((char) vByte);
}
  }
} catch (java.io.IOException vException) {
  mLogger.error(vException.getMessage(), vException);
}

int vSequence = (int) mReceiveSequence.next();
java.lang.String vContent = vContentBuffer.toString();
java.lang.String vFilename = saveFile(part.getFileName(),
vSequence, vContent);
  } catch (javax.mail.MessagingException vException) {
mLogger.error(vException.getMessage(), vException);
  } catch (com.openwave.mms.mm7.APIException vException) {
mLogger.error(vException.getLocalizedMessage() +  ( +
vException.getErrorCode() + ));
mLogger.error(vException.getMessage(), vException);
  } catch (java.lang.Exception vException) {
mLogger.error(vException.getMessage(), vException);
  }

  // create a response object and send it back to the Openwave MMSC relay
  com.openwave.mms.mm7.DeliverResponse response = new
com.openwave.mms.mm7.DeliverResponse();
  response.setStatusCode(com.openwave.mms.mm7.ErrorCode.SUCCESS);
  response.setStatusText(got it!);
  return response;
}

protected java.lang.String saveFile(
java.lang.String aFilename,
int aSequence,
java.lang.String aContent) {
  java.lang.String vFilename = mFileCacheDirectory + aSequence +
- + aFilename;
  mLogger.debug(filename for  + aFilename +  =  + vFilename);
  try {
java.io.FileWriter vWriter = new java.io.FileWriter(vFilename);
vWriter.write(aContent);
vWriter.flush();
vWriter.close();
  } catch (java.lang.Exception vException) {
mLogger.error(vException.getMessage(), vException);
  }
  return vFilename;
}
  }

___
Users mailing list
Users@mbuni.org
http://mbuni.org/mailman/listinfo/users_mbuni.org


Re: [Users] Better documentation with examples requ.

2006-05-15 Thread Paul Bagyenda
Very good. I will answer ALL and any questions you have in this area, and look forward to a spiffier documentation as dividend!Paul.On May 16, 2006, at 08:20, kartikay malhotra wrote:Ok Paul,I will do it. I've worked on Open source S/W for the past year. I have never contributed anything. Its time I should do my part. Problem is, I am struggling with Mbuni myself. So the deal is, you or anyone else would send me examples to start out on Mbuni. How to set up fake mmsc, and receive mms. How to create and decode mms etc. (requests I've made in my previous mail).As soon as I pick up on the basics, I will try out stuff. Once I feel I have some expertise, I shall write a good documentation. If someone wants, they can improve it further and put it up along with the existing docs. Thanks and waiting :)KMOn 5/15/06, Paul Bagyenda [EMAIL PROTECTED] wrote: It is a point well-taken, however... there are always competingdemands on those of us the lead developers. As such, we can't do agreat job at everything. Only natural.  If you want to take a stab at improving the documentation, your efforts would be most welcome, and I would be glad to fill in thegaps to enable you or any other do so.P.On May 16, 2006, at 06:59, kartikay malhotra wrote: Dear All (Esp. Documentation writers of Mbuni),  Is there a better written documentation for Mbuni? Kannel documentation wasn't the best, but at least there were examples. Mbuni user guide is a big document, but severely lacks in any  examples. A person new to gateways, and protocols, can easily get lost. Dear Sirs, you have done a great job providing an open-source gateway/MMSC. But look at W3schools tutorials. They are so well  written, one can pick up all major technologies in a fortnight. Someone, please help, KM ___ Users mailing list Users@mbuni.org http://mbuni.org/mailman/listinfo/users_mbuni.org___ Users mailing listUsers@mbuni.orghttp://mbuni.org/mailman/listinfo/users_mbuni.org___Users mailing listUsers@mbuni.orghttp://mbuni.org/mailman/listinfo/users_mbuni.org ___
Users mailing list
Users@mbuni.org
http://mbuni.org/mailman/listinfo/users_mbuni.org