2013-11-21 41 views
2

我在使用SMPP客戶端與C#在Vs 2010中發送SMS到SMSC。我只是無法弄清楚如何獲取發送消息的傳送報告。我使用QuerySM來獲取消息的狀態,但即使我將短信發送到未使用的號碼,它也會返回OK狀態。如何使用SMPP和C#從SMSC獲得投遞報告

這裏是我獲得發送報告代碼:

QuerySm deliver = new QuerySm(_MessageID, SrcTon, SrcNpi, SrcAddr); 
client.Query(deliver); 
+0

我能問你正在使用的圖書館嗎? – Oswin

+0

@Oswin我正在使用Inetlab.SMPP.dll – firefalcon

回答

0

我使用QuerySmResp來解決我的問題,以獲得投遞報告。

這是檢查SMS消息的傳遞狀態代碼:

QuerySmResp qresp = client.Query(_MessageID, SrcTon, SrcNpi, SrcAddr); 
string _Delivery = qresp.MessageState.ToString(); 

MessageState屬性將顯示消息的狀態,它的成員是:

航路

交付

過期

刪除

無法送達

接受

未知

拒絕

2

這可能是你使用的SMSC不支持query_sm,在這種情況下,他們可能已經實現了一個佔位符query_sm_resp PDU與每個請求都有一個OK狀態。

你可以在submit_smregistered_delivery標誌設置爲1,並聽取傳入deliver_sm的PDU,讓你從他們那裏得到的,而不是查詢他們爲您發送的每封郵件的發送情況報告。

+0

你能告訴我這個在C#代碼中嗎? – firefalcon

+0

不,對不起,我沒有做C#,我只知道SMPP。 – pilsetnieks

相關問題