Com.nokia.mobile.services.api.DriverException with NowSMS

Com.nokia.mobile.services.api.DriverException with NowSMS SearchSearch
Author Message
dalonso
Unregistered guest
Posted on Monday, April 25, 2005 - 07:36 pm:   

Hi everybody,

I am getting a weird error while using the Nokia Mobile Server Services SDK 1.5. Using the library, I am connecting to the NowSMS/MMS Gateway to test my software, and it seems that NowSMS returns an error, which is picked up by the Nokia driver, even though the message is received by NowSMS and is succesfully sent to the terminal that I am testing.

The stack trace is as follows:

com.nokia.mobile.services.api.DriverException: MMSC reported error [200 OK]
at com.nokia.mobile.services.driver.mms.eaif.MMSSender.send(Unknown Source)
at com.nokia.mobile.services.driver.mms.eaif.MMSEngineImpl.send(Unknown Source)
...


Does anyone know what could be causing this, if it is caused by some type of configuration. If you need more information please don't hesitate to ask.

Thanks,
Damian.
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4375
Registered: 10-2002
Posted on Monday, April 25, 2005 - 09:15 pm:   

Hi Damian,

We definitely need more information.

An MMSCDEBUG.LOG would be a good starting point, so that we can see what you are submitting, and what is being returned. (The easiest way to enable this log is via a checkbox setting on the "Serial #" page of the configuration dialog.)

Also, if you can provide a simple program that we can use to reproduce the problem with that SDK, that would also be helpful.

-bn
Damian
New member
Username: Damian

Post Number: 1
Registered: 04-2005
Posted on Tuesday, April 26, 2005 - 11:56 am:   

Thanks Bryce,

I have attached the mmscdebug.log, which i have looked at and it doesn't appear to have any errors, although you can take a look at it.

More information on the error: Apart from my application receiving an error, I have also noticed that the terminal which receives my sample mms, cannot download or view the contents of the message, as it just says 'server error', although i suspect this may be a problem with the message that i am sending. Although if there is some type of configuration that I need to change on NowSMS so the users can view the MMS, could you please tell me.

The java code I am using is the following:


MMSDriverFactory factory = MMSDriverFactory.getInstance(props);

MMSEngine engine = factory.createEngine();
engine.connect();

//Attempt to send the message
String result = engine.send(nokiaMMSMessage);

----

I have surrounded the code in a try catch block, and when i call the 'engine.send()', it goes into the catch block, and displays the error in my first post, about the DriverException, even though NowSMS delivers the MMS succesfully to the phone number.

Thanks again, and if you need more info i will be happy to post more :-)

Damian.


text/plainmmsc debug log
MMSCDEBUG.BAK (16.8 k)
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4377
Registered: 10-2002
Posted on Tuesday, April 26, 2005 - 03:48 pm:   

Hi Damian,

Ok, I think I might have a clue about what is happening here.

Technically, you're posting using the EAIF format, which is a slight variation of the MM1 protocol. MM1 is the protocol that is used for a phone to talk to an MMSC. EAIF is a Nokia variant of that protocol which is designed for application servers ... it is basically MM1 plus some extra HTTP headers.

In your log, I can see that you're posting in using EAIF. However, you're posting in via a regular MMS user account ("MMSC Users" list). That interface basically ignores the EAIF headers, and just accepts the MM1 data, and returns an MM1 response.

The Nokia library is probably choking because it is not getting any EAIF headers in the response.

What you need to do is define an "MMSC VASP" account. Then change your URL to be /EAIF/account=password ... this will ensure that the server knows it is supposed to treat the request as an EAIF request.

If that doesn't make a difference, let me see another MMSCDEBUG.LOG.

-bn
Damian
New member
Username: Damian

Post Number: 2
Registered: 04-2005
Posted on Tuesday, April 26, 2005 - 04:37 pm:   

Ok, I have tried your suggestion and added a MMSC Vasp account, and the error from the server now does not occur, BUT the message never gets sent to the end user. In the logs it reports a 'HTTP/1.0 204 No Content' message. I have attached the log.

BTW - Is there any information on what the MMSC VASP account is used for?? I had a look at a few of the documents, although they seem to be based on previous versions of NowSMS which didn't include this feature.

Thanks again for your prompt responses, they are very much appreciated!!

Thanks again,
Damian.
application/octet-streamMMSC Debug Log
MMSCDEBUG1.log (4.4 k)
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4385
Registered: 10-2002
Posted on Tuesday, April 26, 2005 - 06:27 pm:   

Hi Damian,

"204 No Content" is an OK response. It's what an EAIF client expects in this situation. (The response basically means that the request is OK, but there is no content to be returned in the response.)

Judging by the log, the message was dispatched. So I can't explain why it was delivered ... especially if past messages to the same phone number were being delivered. Maybe there is a temporary delay at the SMS provider?

Something else to check ... in the "MMSC VASP" definition, make sure that "Allow Sender Address Override" is checked. Otherwise, the message might be going out with a blank sender address, which some clients will refuse by default.

Regarding the MMSC VASP accounts, scroll down to the bottom of the following page:

http://www.nowsms.com/documentation/ProductDocumentation/

There is a link for "Configuring MMS VASP Accounts", and one on "Submitting MMS Messages: EAIF".

-bn
Damian
New member
Username: Damian

Post Number: 3
Registered: 04-2005
Posted on Wednesday, April 27, 2005 - 10:59 am:   

Thanks very much Bryce,

My test application now does not receive any errors, it seems that there might have been a delay on the delivery of the MMS's, although I am still am getting problems reading the MMS on the end terminal. It's a simple MMSMessage, as detailed in the previously attached logs, but the end terminal, when trying to download the MMS, reads 'server error', and it occurs on a number of different terminals with different service provider's, so I think this could be an configuration issue with NowSMS.

Do you have any suggestions??

Thanks,
Damian
Bryce Norwood - NowSMS Support
Board Administrator
Username: Bryce

Post Number: 4423
Registered: 10-2002
Posted on Wednesday, April 27, 2005 - 08:16 pm:   

Damian,

Are you able to send simple MMS messages to these same terminals using the NowSMS web form?

If not, then you may either have a configuration issue on the MMSC ("local host name or IP address" field must resolve to a host name or IP that is accessible over the internet), or, more likely, your mobile operator is blocking external MMSC connections.

Try sending from our web form, so that you can rule out whether or not your application's MMS formatting is the issue.

Assuming that messages from the web form have a similar problem, see http://www.nowsms.com/howmmsworks.htm for an overview of how MMS works, and pointers to alternate configuration approaches with NowSMS to get your messages out.

-bn