I have a SOAP driver talking to CUCM (Cisco's Unified Communication
Manager?). When I make a change to a phone object in IDV, I am getting
an event on the Sub channel, but there is no <association> node.

Thus all my modify events become synthetic adds. I have added in policy
my own Association value (It is alas, not singular, it is
Line1=GUID|Line2=GUID format, for reasons I care about). My initial
adds work fine, it is just the subsequent modifies I get in trouble
with. I can resolve that association value to objects in CUCM but I
never get an opportunity to do that.

This object had an association value in eDir, nameSpace of 1, volume DN
of the driver object, and a path with the right values, when the event
came through. In fact, it is paired with a modify in an AD driver,
where an associated user was modified, kicking off a change on the phone
object.

I have snippets of the Sub channel trace on both of them, so you can see
the differences in how the events start off.

[04/28/14 13:32:05.350]EV-ACME-LOC ST:Start transaction.
[04/28/14 13:32:05.352]EV-ACME-LOC ST:Processing events for transaction.
[04/28/14 13:32:05.357]EV-ACME-LOC ST:
<nds dtdversion="4.0" ndsversion="8.x">
<source>
<product edition="Advanced" version="4.0.2.0">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<modify cached-time="20140428171234.222Z" class-name="User"
event-id="DEV-IDV-01-DS#20140428171234#2#1:642ab583-cf29-4045-6ca9-83b52a6429cf"
qualified-src-dn="O=data\OU=usr\OU=edu\CN=jsmith"
src-dn="\DEV-ACMEIDV\data\usr\edu\jsmith" src-entry-id="40489"
timestamp="0#0">
<association
state="associated">147a1d5d7f035742a43df458dcbb535 5</association>
<modify-attr attr-name="Telephone Number">
<remove-value>
<value timestamp="1398374416#19" type="teleNumber">78023</value>
</remove-value>
</modify-attr>
</modify>
</input>
</nds>

But in CUCM driver, getting a change on an associated (by me, by my
code, with my value) ccspPhone object I see:

[04/28/14 14:05:32.147]:CUCM862 ST:Start transaction.
[04/28/14 14:05:32.148]:CUCM862 ST:type(modify-entry)entry-id(210956)
dn(\T=DEV-ACMEIDV\O=data\OU=res\OU=pho\CN=78025) class-id(1705)
class-name(acmePhone)
[04/28/14 14:05:32.149]:CUCM862
ST:type(remove-value)Syntax=SYNTAX_DIST_NAME,
distName=\DEV-ACMEIDV\data\usr\edu\jsmith
[04/28/14 14:05:32.150]:CUCM862 ST:Processing events for transaction.
[04/28/14 14:05:32.152]:CUCM862 ST:
<nds dtdversion="4.0" ndsversion="8.x">
<source>
<product edition="Advanced" version="4.0.2.0">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<modify cached-time="20140428180532.041Z" class-name="acmePhone"
event-id="DEV-IDV-01-DS#20140428180532#1#1:73ce5181-c038-464e-699d-8151ce7338c0"
qualified-src-dn="O=data\OU=res\OU=pho\CN=78025"
src-dn="\DEV-ACMEIDV\data\res\pho\78025" src-entry-id="210956"
timestamp="0#0">
<modify-attr attr-name="Owner">
<remove-value>
<value timestamp="1398706790#1"
type="dn">\DEV-ACMEIDV\data\usr\edu\jsmith</value>
</remove-value>
</modify-attr>
</modify>
</input>
</nds>

And thus we get a synthetic add, instead of a regular modify:

[04/28/14 14:05:32.180]:CUCM862 ST:Subscriber processing modify for
\DEV-ACMEIDV\data\res\pho\78025.
[04/28/14 14:05:32.181]:CUCM862 ST:Converting <modify> to <add>
[04/28/14 14:05:32.181]:CUCM862 ST:Reading relevant attributes from
\DEV-ACMEIDV\data\res\pho\78025.


What am I missing, as to why I am not getting an <association
state='associated'> node?

The if-association token of course will not work, since it relies on the
<association> node to handle that. I can 'fake it' read back the assoc,
see if it looks good, then add the XML node, but the engine should be
doing this for me, ought it not?